Android之复选框对话框

本文转载自:http://www.cnblogs.com/linjiqin/archive/2011/03/10/1980184.html

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; } }
复制代码

运行结果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio中,可以通过AlertDialog来创建一个带有单个复选框对话框。首先,我们需要创建一个AlertDialog.Builder对象,并设置它的标题和消息。然后,使用setMultiChoiceItems()方法来设置复选框的选项和默认选中的状态。接下来,我们可以通过调用setPositiveButton()和setNegativeButton()方法来设置对话框的确认按钮和取消按钮。最后,调用create()方法来创建AlertDialog对象并显示出来。 以下是一个示例代码: AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("请选择"); builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { // 处理复选框的点击事件 } }); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 处理确认按钮的点击事件 } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 处理取消按钮的点击事件 } }); AlertDialog dialog = builder.create(); dialog.show(); 在onClick()方法中,我们可以处理复选框的点击事件,并根据需要执行相应的操作。在确认按钮和取消按钮的点击事件中,我们可以处理用户的确认或取消操作。最后,调用create()方法创建AlertDialog对象,并调用show()方法显示出对话框。这样,就实现了一个带有单个复选框的AlertDialog。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值