android系列:复选框对话框

虽然简单,但是每次用还是要百度,记录下吧

转自:点击打开链接


main.xml布局文件

复制代码
  
  
<? xml version = " 1.0 " encoding = " utf-8 " ?> < LinearLayout xmlns:android = " http://schemas.android.com/apk/res/android " android:orientation = " vertical " android:layout_width = " fill_parent " android:layout_height = " fill_parent " > < EditText android:text = "" android:id = " @+id/editText " android:layout_width = " fill_parent " android:layout_height = " wrap_content " android:editable = " false " android:cursorVisible = " false " /> < Button android:text = " 显示复选框对话框 " android:id = " @+id/button " android:layout_width = " fill_parent " android:layout_height = " wrap_content " /> </ LinearLayout >
复制代码

array.xml数组

复制代码
  
  
<? xml version = " 1.0 " encoding = " utf-8 " ?> < resources > < string - array name = " hobby " > < item > 游泳 </ item > < item > 打篮球 </ item > < item > 登山 </ item > </ string - array > </ resources >
复制代码

AlertActivity类

复制代码
  
  
package com.ljq.dialog; import android.app.Activity; import android.app.Dialog; import android.app.AlertDialog.Builder; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class AlertDialog extends Activity { private EditText editText; private final static int DIALOG = 1 ; boolean [] flags = new boolean []{ false , false , false }; // 初始复选情况 String[] items = null ; @Override public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.main); items = getResources().getStringArray(R.array.hobby); editText = (EditText)findViewById(R.id.editText); Button button = (Button) findViewById(R.id.button); button.setOnClickListener( new View.OnClickListener() { public void onClick(View v) { // 显示对话框 showDialog(DIALOG); } }); } /** * 创建复选框对话框 */ @Override protected Dialog onCreateDialog( int id) { Dialog dialog = null ; switch (id) { case DIALOG: Builder builder = new android.app.AlertDialog.Builder( this ); // 设置对话框的图标 builder.setIcon(R.drawable.header); // 设置对话框的标题 builder.setTitle( " 复选框对话框 " ); builder.setMultiChoiceItems(R.array.hobby, flags, new DialogInterface.OnMultiChoiceClickListener(){ public void onClick(DialogInterface dialog, int which, boolean isChecked) { flags[which] = isChecked; String result = " 您选择了: " ; for ( int i = 0 ; i < flags.length; i ++ ) { if (flags[i]){ result = result + items[i] + " " ; } } editText.setText(result.substring( 0 , result.length() - 1 )); } }); // 添加一个确定按钮 builder.setPositiveButton( " 确 定 " , new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int which) { } }); // 创建一个复选框对话框 dialog = builder.create(); break ; } return dialog; } }
复制代码

运行结果


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值