Adroid 之 Builder 列表对话框(带复选按钮)

本文介绍如何使用Android的setMultiChoiceItems()方法实现带有复选框的列表对话框,包括代码实现、功能展示及效果演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[color=brown][size=small][b]
列表对画框之带复选框介绍:
使用知识点:setMultiChoiceItems();

案例:实现用户点击一个按钮然后弹出一个带有复选框的对话框,统计用户选则的数量,并
显示TextView控件上;

java代码如下:[/b][/size][/color]
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();
}
};

}

效果示意图如下见附件:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值