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


列表对画框之带复选框介绍:
使用知识点: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();
		}
	};

}

效果示意图如下见附件:

猜你喜欢

转载自sunzone.iteye.com/blog/1870292