Android开发之列表对话框的使用

安卓案例:安卓对话框演示 文章目录一、对话框概述二、案例演示(一)运行效果(二)涉及知识点(三)实现步骤1、创建安卓应用【DialogDemo】2、将背景图片拷贝到drawable目录3、主布局资源文件activity_main.xml4、自定义对话框布局资源文件custom_dialog.xml5、字符串资源文件strings.xml6、主界面类 - MainActivity(1)声明变量(2)通过资源标识符获取控件实例(3)给【弹出警告对话框】按钮注册监听器,实现监听器接口,编写事件处理代码(4)给【弹出列表对话框(普通列表项) 阅读详情
Android开发之列表对话框的使用

在values.xml新建interest.xml文件

<?xml version="1.0" encoding="utf-8"?>
<resources>
    
    <string-array name="selinterest">
        <item>篮球</item>
        <item>游泳</item>
        <item>足球</item>
        <item>游戏</item>
    </string-array>
    
</resources>

main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">
    
    
    <Button
        android:id="@+id/interest"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="选择爱好" />
    
   
    
    <TextView 
        android:id="@+id/mysel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    
    

</LinearLayout>

.java文件

package com.example.dialogdemo;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {
private Button button=null;
private View interests=null;
private TextView mysel=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.button=(Button) super.findViewById(R.id.interest);
this.mysel=(TextView) super.findViewById(R.id.mysel);
//为我们的图片添加事件
this.button.setOnClickListener(new OnClickListenerImp());
}
public class OnClickListenerImp implements OnClickListener{

public void onClick(View arg0) {
Dialog dialog=new AlertDialog.Builder(MainActivity.this)
.setIcon(R.drawable.ic_launcher)
.setTitle("选择您的兴趣爱好")
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
})
//设置多选提示框
.setItems(R.array.selinterest, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
MainActivity.this.mysel.setText("您选择的爱好是"+MainActivity.this.getResources().getStringArray(R.array.selinterest)[which]);
}
})
.create();
dialog.show();
}
}
}
android dialog —— 自定义数据源的单选列表对话框 创建单选列表对话框,适合做单项选择,又不想占用屏幕空间的场景。 立即下载

相关推荐

安卓开发单选列表对话框

单选对话框一个房间塘沽依托丰富与福特和国际会议还比较规范和供应将会很快i看看回购交易工具

如何快速实现Android流式布局?FlowLayout让标签展示更高效

FlowLayout是一款专为Android开发者打造的流式布局开源库,它能够自动将子视图按行排列,当一行空间不足时自动换行,完美解决标签展示、多选项选择等场景的UI布局需求。无论是社交App的兴趣标签、电商平台的商品属性筛选,还是新闻客户端的话题分类,FlowLayout都能提供简洁优雅的解决方案。 ## 📱 什么是流式布局? 流式布局(Flow Layout)是一种能够根据容器宽度自动调

gitblog_00926的博客 669

Android 简单对话框,列表对话框示例

这个示例演示对话框的用法,包括普通的AlertDialog,列表对话框,进度对话框,自定义对话框 这里实现一个在3秒后自动关闭对话框的功能,通过一个定时器来完成

Android 爱好调查页面

使用工具 Android studio 首先贴一下 layout的代码 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" an

入佛门六根不净,入商场狼性不足 2063

安卓开发对话框大全

package com.tarena.day09_alertdialog; import java.util.Calendar; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.DatePickerDialog; import android.app.DatePickerDialog.OnDateSetListener; import android.app.ProgressDialog; import android.app.TimePickerDialog; import android.app.TimePickerDialog.OnTimeSetListener; import android.content.DialogInterface; import android.content.DialogInterface.OnMultiChoiceClickListener; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.DatePicker; import android.widget.EditText; import android.widget.TimePicker; import android.widget.Toast; public class MainActivity extends Activity { private AlertDialog dialog1; private AlertDialog dialog2; private AlertDialog dialog3; private AlertDialog dialog4; private AlertDialog dialog5; private ProgressDialog dialog6; private TimePickerDialog dialog7; private DatePickerDialog dialog8; private EditText etUserName, etPassword; private boolean isFlag; private void initTimePickerDialog(){ dialog7 = new TimePickerDialog(this, new OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { Toast.makeText(MainActivity.this, "Time:"+hourOfDay+":"+minute, Toast.LENGTH_LONG).show(); } }, 0, 0, false); } private void initDatePickerDialog(){ dialog8 = new DatePickerDialog(this, new OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { Toast.makeText(MainActivity.this, "Date:"+year+":"+(monthOfYear+1)+":"+dayOfMonth, Toast.LENGTH_LONG).show(); } }, 2015, Calendar.SEPTEMBER, 17); } private void initAlertDialog1() { Builder builder = new Builder(this); // AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("提示"); // 添加显示信息 builder.setMessage("最简单对话框"); // 图标 builder.setIcon(android.R.drawable.dialog_holo_light_frame); // 创建AlertDialog对象 dialog1 = builder.create(); } private void initAlertDialog2() { Builder builder = new Builder(this); builder.setTitle("提示"); // 添加显示信息 builder.setMessage("最简单对话框"); // 图标 builder.setIcon(android.R.drawable.dialog_holo_light_frame); // 设置确定按钮 builder.setPositiveButton("确定", new android.content.DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "确定按钮", Toast.LENGTH_SHORT).show(); } }); // 设置取消按钮 builder.setNegativeButton("取消", new android.content.DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog2.dismiss(); } }); // 创建AlertDialog对象 dialog2 = builder.create(); } private void initAlertDialog3() { Builder builder = new Builder(this); builder.setTitle("提示"); // 设置控件方法 builder.setView(loadView()); // 图标 builder.setIcon(android.R.drawable.dialog_holo_light_frame); // 设置确定按钮 builder.setPositiveButton("确定", new android.content.DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String username = etUserName.getText().toString(); String password = etPassword.getText().toString(); Toast.makeText( MainActivity.this, "UserName:" + username + ",Password:" + password, Toast.LENGTH_SHORT).show(); } }); // 设置取消按钮 builder.setNegativeButton("取消", new android.content.DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog3.dismiss(); } }); // 创建AlertDialog对象 dialog3 = builder.create(); } private void initAlertDialog4() { Builder builder = new Builder(this); builder.setTitle("提示"); // 图标 builder.setIcon(android.R.drawable.dialog_holo_light_frame); builder.setSingleChoiceItems(new String[] { "item1", "item2", "item3", "item4" }, 0, new android.content.DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch (which) { case 0: Toast.makeText(MainActivity.this, "item1", Toast.LENGTH_SHORT).show(); break; case 1: Toast.makeText(MainActivity.this, "item2", Toast.LENGTH_SHORT).show(); break; case 2: Toast.makeText(MainActivity.this, "item3", Toast.LENGTH_SHORT).show(); break; case 3: Toast.makeText(MainActivity.this, "item4", Toast.LENGTH_SHORT).show(); break; default: break; } } }); // 创建AlertDialog对象 dialog4 = builder.create(); } private void initAlertDialog5(){ Builder builder = new Builder(this); builder.setTitle("提示"); // 图标 builder.setIcon(android.R.drawable.dialog_holo_light_frame); builder.setMultiChoiceItems(new String[]{"item1","item2","item3","item4"}, new boolean[]{true,false,true,false}, new OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { Toast.makeText(MainActivity.this, "Which:"+which+",IsChechked:"+isChecked, Toast.LENGTH_SHORT).show(); } }); dialog5 = builder.create(); } /** * 加载布局 * * @return */ private View loadView() { LayoutInflater inflater = LayoutInflater.from(this); // LayoutInflater inflater = (LayoutInflater) // getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.login, null); etUserName = (EditText) view.findViewById(R.id.et_username); etPassword = (EditText) view.findViewById(R.id.et_password); return view; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initAlertDialog1(); initAlertDialog2(); initAlertDialog3(); initAlertDialog4(); initAlertDialog5(); initTimePickerDialog(); initDatePickerDialog(); addListener(); } private void addListener() { this.findViewById(R.id.button1).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub dialog1.show(); } }); this.findViewById(R.id.button2).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub dialog2.show(); } }); this.findViewById(R.id.button3).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub dialog3.show(); } }); this.findViewById(R.id.button4).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub dialog4.show(); } }); this.findViewById(R.id.button5).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub dialog5.show(); } }); this.findViewById(R.id.button6).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { isFlag = true; dialog6 = new ProgressDialog(MainActivity.this); dialog6.setTitle("提示"); dialog6.setIcon(R.drawable.ic_launcher); dialog6.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); dialog6.setProgress(100); dialog6.setCancelable(false); dialog6.setButton("完成", new android.content.DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { isFlag = false; dialog6.dismiss(); } }); dialog6.show(); new Thread(){ public void run() { int number = 0; while (isFlag) { dialog6.setProgress(number); number++; if(number > 100){ isFlag = false; dialog6.cancel(); } try { Thread.sleep(80); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; }.start(); } }); this.findViewById(R.id.button7).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub dialog7.show(); } }); this.findViewById(R.id.button8).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub dialog8.show(); } }); } }

android中列表选项、单选选项、多选选项对话框的使用

android中dialog listview 列表选项、单选选项、多选选项对话框的使用

Android兴趣选择功能的实现

这篇文章,给大家分享一下兴趣选择功能的实现。前段时间在写一个小的应用,其中用到了兴趣选择的功能。什么叫兴趣选择?就是我们在使用一个app的时候,首次打开会弹出一个界面,让我们选择一到多个标签,然后会根据这个标签为我们推荐合适的东西。例如一个阅读类app,当我们选择了几个兴趣后,他会为我们推荐与兴趣相关的小说。或者一个新闻类app,我们选择了兴趣后,它也会为我们推荐相关的新闻。今天,...

zhaojun的博客 2万+

解决vscode无法运行npm命令的问题(cmd可行)

Powershell以及vscode中npm命令使用不了

无痕坚守本心的博客 2749

android程序一个注册,然后到设置兴趣爱好,出生日期,然后把所有信息显示在另一个页面的程序

这个程序要达到的效果简图如下图第一个页面 public class MainActivity extends Activity implements OnClickListener, OnCheckedChangeListener { EditText username, password; RadioGroup sex; Button btn_register

Dr_abandon的博客 3429

Vue2项目实战:vue2-org-tree实现动态组织架构图

本文详细介绍了如何在Vue2项目中使用vue2-org-tree组件实现动态、可交互的组织架构图。内容涵盖从快速安装、基础渲染到核心功能实战,包括水平布局、节点展开折叠、响应式数据绑定、深度自定义节点内容以及事件处理。同时提供了性能优化、样式覆盖等避坑指南,并通过一个完整的企业级Demo展示了如何打造功能丰富的架构图,助力高效开发后台管理系统。

weixin_28040125的博客 522

快手极速版抓包实战:安卓/iOS双端获取client_salt全流程解析(避坑指南)

本文详细解析了在安卓和iOS平台上获取快手极速版关键参数`client_salt`的全流程,包括环境配置、抓包工具使用、参数识别与转换等实战技巧。特别针对双端差异和反抓包机制提供了避坑指南,帮助开发者高效安全地完成数据获取任务。

weixin_29021195的博客 714

移动应用开发技术——实验2.1 Android用户界面

真值文件就不放了,大家自己写一写吧,很简单的。

软肋.的博客 268

Pascal Context数据集实战:从安装到格式转换的完整指南

本文提供了Pascal Context数据集的完整实战指南,从安装配置到格式转换的详细步骤。Pascal Context是计算机视觉领域重要的语义分割数据集,包含540个精细标注类别。文章涵盖数据集下载、环境配置、预处理技巧和常见问题解决方案,帮助开发者高效利用这一数据集进行场景理解任务。

weixin_30216561的博客 616

Android开发基础之AlertDialog的列表对话框的使用

AlertDialog对话框有四种不同的形式,确认对话框,单选对话框,多选对话框,列表对话框,今天我们来简单实现一下列表对话框。列表对话框类似于在一个对话框中放了一个ListView控件一样。对于其中的每一项,都可以进行点击响应操作。实现步骤与单选对话框很像,具体步骤如下: (1)定义一个字符串数组,用来表示列表中的每一项: String[] list_String = {"菜单一", "菜

乞力马扎罗的雪CYF的博客 4418

【COMSOL】修改内置物理场方程 模拟水沸腾的蒸汽泡运动

在COMSOL中通过弱贡献(weak contribution)节点,可以向任何内置模型方程中添加约束。这里,以模拟水沸腾的蒸汽泡运动为例,来讲一讲当我们研究的方程与模块方程不一样时,应该怎么增加新的贡献项。

u012161192的博客 9008

大疆司空 2 私有化部署:FH2、Terra、4G 三大服务区别详解

摘要: 司空2私有版包含三大模块:FH2(核心平台,必选)、Terra(建模算力,需NVIDIA显卡)、4G(内网图传)。FH2是基础,支持设备管理与任务调度;Terra适用于测绘建模场景,依赖GPU算力;4G模块保障复杂环境下的图传稳定性,适合纯内网部署。选择逻辑:先部署FH2,再按需添加Terra(需显卡)或4G(需内网支持),避免资源浪费。

2501_93651177的博客 579

Android常用对话框大全——Dialog

唉!最近一直忙碌着写项目以至于都没有空出点时间来总结近期的学习,记录学习到的东西…现在正好有时间了就该好好记录一下学习的过程了。今天就来谈谈开发中经常用的到的一个控件——Dialog,对话框一般我们就用来提示一些信息给用户,让用户自主选择,或者在一些操作不可逆的情况下我们提示用户是否继续操作,下面就让我们一起来学习吧。老司机发车啦…一:最简单的对话框 AlertDialog dialog = new

上辈子作恶多端,这辈子写前端。 7万+

BART non-Cartesian 重建:并行成像 压缩感知

本文主要使用并行成像和压缩感知方法实现non-Cartesian MRI 数据的重建。

张哥频道:电生理信号和磁共振成像 1182

安卓开发_使用AlertDialog实现对话框

示例: 一、确定对话框 1 AlertDialog.Builder builder = new AlertDialog.Builder(this); 2 builder.setTitle("确认对话框"); 3 builder.setIcon(R.drawable.icon_72); 4 b...

defukwanmcth26174的博客 176

脑肿瘤MRI图像分割实战:基于U-Net的深度学习完整指南

脑肿瘤是中枢神经系统最常见的疾病之一,全球每年有超过30万人被诊断为原发性脑肿瘤。在临床诊断和治疗过程中,磁共振成像(MRI)已成为评估脑肿瘤的标准影像学检查方法。然而,手动分割MRI图像中的肿瘤区域是一项耗时且依赖于专家经验的工作,不同医生之间可能存在显著差异。

YOLO 151

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Android开发基础 几种常用对话框的使用

Android开发入门 几种常用对话框的使用 开发步骤如下:(1)布局界面(2)获取按钮,添加事件监听器(3)实现对话框 。

nuist_NJUPT的博客 3315

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

安卓通知的使用系列4:对话框通知的使用之列表对话框、单选列表对话框、多选列表对话框

列表对话框是对话框的一种常见形式,在android开发中使用比较普遍,下面我们来介绍一个它的使用方式。 整体思路:在xml文件中定义三个button控件,并分别设置它们的点击事件,在第一个点击事件中实例化一个AlertDialog.Builder对象,并设置每一个item的点击事件,在第二个和第三个点击事件中分别实例化一个AlertDialog.Builder对象,并设置单选和多选item的点击

luoshiwutai的博客 464

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

AlertDialog对话框详例

Android—3分钟你也能学会AlertDialog对话框 在Android开发中,少不了AlertDialog对话框的使用,也是至关重要的一个功能。AlertDialog的构造方法被声明为protected,所以我们不能使用new来创建AlertDialog对象。 目录Android—3分钟你也能学会AlertDialog对话框确定取消对话框带列表的对话框单选列表对话框多选列表对话框 确定取消对话框 DialogInterface.BUTTON_NEGATIVE 设立为取消按钮 DialogInterf

一条屈依的博客 2480

Android——列表对话框

说明:列表对话框只需设置Items属性即可,注意不能在设置Message属性,否则只会显示Message,不会显示列表。这里的setItems中的Onclick中的which属性是items数组的下标! button.setOnClickListener(new View.OnClickListener() { @Override publ...

qq_41430142的博客 2290

Android移动应用开发之对话框的一些使用

主要是感觉以后可能用到,记录一下//普通对话框 final int LIST_DIALOG = 2;//列表对话框 final int LIST_DIALOG_SINGLE = 3;//单选 final int LIST_DIALOG_MULTIPLE = 4;//多选 final int PROGRESS_DIALOG = 5;//进度条 final int DATE_DIALOG = 6;//日期 final int TIME_DIALOG = 7;

学习笔记 793

七种对话框格式

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android Dialog的类型无非也就7种,下面我分别向大家介绍这7种Android Dialog对话框的使用方法,希望对大家能有所帮助。 1.该效果是当按返回按钮时弹出一个提示,来确保无误...

weixin_30779691的博客 168
上一篇: Android开发之对话框事件之点击手…
下一篇: Android开发对话框之单选对话框的…
普通网友
博客等级 码龄16年 90粉丝 1232原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值