Dialog(二)——单选对话框和多选对话框
发布日期:2021-06-30 11:15:21 浏览次数:2 分类:技术文章

本文共 3590 字,大约阅读时间需要 11 分钟。

MainActivity如下:

import android.os.Bundle;import android.app.Activity;import android.app.Dialog;import android.app.AlertDialog.Builder;import android.content.DialogInterface;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {    private Button mSingleChoiceButton;    private Button mMultiChoiceButton;    private Dialog mSingleDialog;    private Dialog mMultiDialog;    boolean singleFlags[]=null;    boolean multiFlags[]=null;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.main);		init();	}    private void init(){    	mSingleChoiceButton=(Button) findViewById(R.id.singleChoiceButton);    	mSingleChoiceButton.setOnClickListener(new ButtonOnClickListenerImpl());    	mMultiChoiceButton=(Button) findViewById(R.id.multiChoiceButton);    	mMultiChoiceButton.setOnClickListener(new ButtonOnClickListenerImpl());    }	private class ButtonOnClickListenerImpl implements OnClickListener {		@Override		public void onClick(View view) {			switch (view.getId()) {			case R.id.singleChoiceButton:				singleFlags=new boolean[]{true,false,false};                Builder singleBuilder=new Builder(MainActivity.this);                singleBuilder.setIcon(R.drawable.ic_launcher);                singleBuilder.setTitle(getResources().getString(R.string.dialog_title));                singleBuilder.setSingleChoiceItems(R.array.singleChoiceArray, 0, new DialogInterface.OnClickListener() {					@Override					public void onClick(DialogInterface dialog, int which) {						for (int i = 0; i < singleFlags.length; i++) {							if (i==which) {								singleFlags[i]=true;							}else{								singleFlags[i]=false;							}						}					}				});                singleBuilder.setPositiveButton("确定", new DialogInterface.OnClickListener() {					@Override					public void onClick(DialogInterface dialog, int which) {						String result="";						for (int i = 0; i < singleFlags.length; i++) {							if (singleFlags[i]==true) {								result=getResources().getStringArray(R.array.singleChoiceArray)[i];							}						}						 Toast.makeText(MainActivity.this, result, Toast.LENGTH_SHORT).show();					}				});                                mSingleDialog=singleBuilder.create();                mSingleDialog.show();                break;			case R.id.multiChoiceButton:				multiFlags=new boolean[]{true,false,false};                Builder multiBuilder=new Builder(MainActivity.this);                multiBuilder.setIcon(R.drawable.ic_launcher);                multiBuilder.setTitle(getResources().getString(R.string.dialog_title));                multiBuilder.setMultiChoiceItems(R.array.multiChoiceArray, multiFlags, new DialogInterface.OnMultiChoiceClickListener() {					@Override					public void onClick(DialogInterface arg0, int which, boolean isChecked) {						multiFlags[which]=isChecked;					}				});                multiBuilder.setPositiveButton("确定", new DialogInterface.OnClickListener() {					@Override					public void onClick(DialogInterface dialog, int arg1) {						 String result="";						 						 for (int i = 0; i < multiFlags.length; i++) {							if (multiFlags[i]) {								result=result+getResources().getStringArray(R.array.multiChoiceArray)[i]+" ";							}						}						 Toast.makeText(MainActivity.this,result, Toast.LENGTH_SHORT).show();					}				});                                mMultiDialog=multiBuilder.create();                mMultiDialog.show();				break;			default:				break;			}		}	}}
main.xml如下:

转载地址:https://it9527.blog.csdn.net/article/details/28893359 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Dialog(一)——对话框(Dialog)基本使用
下一篇:Dialog(三)——列表对话框和进度对话框

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月28日 09时47分26秒