博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Checkbox在对话框中显示
阅读量:6234 次
发布时间:2019-06-22

本文共 3277 字,大约阅读时间需要 10 分钟。

  hot3.png

1.在目录res/values下array.xml中添加一个checkbox资源组:

Android
IOS
Windows Phone

2.定义一个布局文件checkbox_dialog.xml:

                                                                                    

3.定义java文件:

package com.test;import javax.security.auth.PrivateCredentialPermission;import android.app.Activity;import android.app.AlertDialog.Builder;import android.app.Dialog;import android.content.DialogInterface;import android.content.DialogInterface.OnMultiChoiceClickListener;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class CheckBoxDialog extends Activity {	private  TextView   textView ;	private   Button button;	//复选框初始状态都是未选中	boolean  [] state =new boolean[]{false,false,false};	String[] contents=null;	private final static int FLAG=1;	@Override	protected void onCreate(Bundle savedInstanceState) {		// TODO Auto-generated method stub				super.onCreate(savedInstanceState);				setContentView(R.layout.checkbox_dialog);				contents=getResources().getStringArray(R.array.array_checkbox);		textView =(TextView)findViewById(R.id.textview);				button = (Button)findViewById(R.id.button);		button.setOnClickListener(clickListener);			}		private  OnClickListener  clickListener =new OnClickListener() {				@Override		public void onClick(View v) {			// TODO Auto-generated method stub			 // 显示对话框   					showDialog(FLAG);		}	};		 /**     * 创建复选框对话框     */    	@Override    	protected Dialog onCreateDialog(int id) 	{        		Dialog dialog=null;        		switch (id) {        		case FLAG:            			Builder builder=new android.app.AlertDialog.Builder(this);            			//设置对话框的图标                                   builder.setIcon(R.drawable.header);            			//设置对话框的标题                                   builder.setTitle("复选框对话框");            			builder.setMultiChoiceItems(R.array.array_checkbox, state, onMultiChoiceClickListener);                        			//添加一个确定按钮           			builder.setPositiveButton("OK", clickListener2);            			//创建一个复选框对话框           			dialog=builder.create();            			break;        			}        		return dialog;    		}    	  private  OnMultiChoiceClickListener  onMultiChoiceClickListener =new OnMultiChoiceClickListener() {				@Override		public void onClick(DialogInterface dialog, int which, boolean isChecked) {			state[which]=isChecked;                    			String result = "You checked:";                    			for (int i = 0; i < state.length; i++) 			{                        				if(state[i]){                            					result=result+contents[i]+"、";                        					}                    				}                    			textView.setText(result.substring(0, result.length()-1));   					}	};			private  android.content.DialogInterface.OnClickListener  clickListener2 =new android.content.DialogInterface.OnClickListener() {				@Override		public void onClick(DialogInterface dialog, int which) {			// TODO Auto-generated method stub					}	};}

4:显示效果图:

执行之后未作任何操作

点击按钮显示checkbox对话框视图

选中checkbox后,选中信息显示在文本框中

转载于:https://my.oschina.net/amigos/blog/59237

你可能感兴趣的文章
Yii用ajax实现无刷新检索更新CListView数据
查看>>
JDBC的事务
查看>>
App 卸载记录
查看>>
JavaScript变量和作用域
查看>>
开源SIP服务器加密软件NethidPro升级
查看>>
Apache Pulsar中的地域复制,第1篇:概念和功能
查看>>
python pip install 出现 OSError: [Errno 1] Operation not permitted
查看>>
从源码分析scrollTo、scrollBy、Scroller方法的区别和作用
查看>>
ObjectOutputStream和ObjectInputStream
查看>>
nagios客户端未启动报错
查看>>
南京大学周志华教授当选欧洲科学院外籍院士
查看>>
马士兵教学语录
查看>>
计算机网络与Internet应用
查看>>
oracle在线迁移同步数据,数据库报错
查看>>
linux性能剖析工具
查看>>
flutter中的异步
查看>>
计算机高手也不能编出俄罗斯方块——计算机达人成长之路(16)
查看>>
error LNK2001: 无法解析的外部符号 __CrtDbgReport
查看>>
会员充值-》解决方案之一
查看>>
Jmeter的接口测试简介
查看>>