Adroid 之 Builder 列表对话框(带复选按钮)
程序员文章站
2022-05-16 23:33:52
...
列表对画框之带复选框介绍:
使用知识点:setMultiChoiceItems();
案例:实现用户点击一个按钮然后弹出一个带有复选框的对话框,统计用户选则的数量,并
显示TextView控件上;
java代码如下:
package com.example.notebook_dialog_two;
import android.app.Activity; import android.app.AlertDialog.Builder; 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.Toast; public class Checked_dialog extends Activity { private Button checked_btn; private Builder builder = null; private int temp_sum = 0; protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.checked_dialog); /* 获取Builder的实体对象 */ builder = new Builder(this); /* 获取控件的实体对象 */ checked_btn = (Button) findViewById(R.id.testRadioBtn); /* 绑定事件 */ checked_btn.setOnClickListener(listener); } /* 事件动作:点击按钮弹出一个带有复选框的对话框 */ OnClickListener listener = new OnClickListener() { public void onClick(View v) { builder.setTitle("带有复选框的列表对话框的测试"); /* 参数介绍:参1:数据源 ; 参2:默认的选项 ; 参3:事件 */ String[] arr = getResources().getStringArray(R.array.arr_rabbit); builder.setMultiChoiceItems(arr, null, new OnMultiChoiceClickListener() { /* 事件的动作:实现保存用户点击的选项,统计数量 */ public void onClick(DialogInterface dialog, int which, boolean isChecked) { if(isChecked){++temp_sum;}else{--temp_sum;} } }); /* 确定按钮:事件动作--显示选中的数量 */ builder.setPositiveButton("OK"+"", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Toast.makeText(Checked_dialog.this, temp_sum+"", 1000).show(); } }); /* 创建并进行显示 */ builder.create().show(); } }; }
效果示意图如下见附件:
上一篇: Android短信相关的常见协议