Android之对话框百变篇(11)

                     在美团模仿版中我们小试牛刀了对话框,但是还是觉得对话框过于死板,到底能不能定制我们需要的对话框,加入各种组件,形成我们的个性版对话框,这节课将是你至关重要的。首先我们学会在对话框做出列表选项:

private String[] reason=new String[]{"没时间消费","预约不上","商家说可以直接到店消费","买多了","不想要了","网上评价不好","去过了不太满意","太贵","其他"};

 定义列表选项按钮内容:

注意本节课代码是上上节课内容,此次不再做多余阐述然后再加入代码:

setItems(reason,new DialogInterface.OnClickListener(){

				@Override
				public void onClick(DialogInterface arg0, int which) {
					 
					 Toast toast = Toast.makeText(MainActivity.this, "已删除!"+reason[which], Toast.LENGTH_SHORT); 
					 toast.show(); 
					
				}
				 
			 })

效果:(注意自定义对话框要去掉setMessage,因为你已经用自定义的取代显示内容了)



在setItems可以设置列表选项,并且可以监听选项。既然可以定义列表选项同样我们可以定义单选选项setSingleChioceItems

于是我们将之前的列表选项内容替换成:

setSingleChoiceItems(reason,0, new DialogInterface.OnClickListener(){

				@Override
				public void onClick(DialogInterface arg0, int which) {
					 
					 Toast toast = Toast.makeText(MainActivity.this, "已删除!"+reason[which], Toast.LENGTH_SHORT); 
					 toast.show(); 
					
				}
				 
			 })

效果: 

同样也可以定义复选框,我们知道美团默认的就是复选框,所以接下来就是要用到:setMultiChoiceItems

但是这时候使用到的监听器就不是OnCLICKListener了,而是onMultichoiceClickListener,因此同理我们去取代刚才的单选对话框:

private boolean[] ch=new boolean[]{true,true,true,true,true,true,true,true,false};

复选框要定义是否选中,这里有9个选项所以我们定义9个

setMultiChoiceItems(reason,ch, new DialogInterface.OnMultiChoiceClickListener(){

				@Override
				public void onClick(DialogInterface arg0, int which, boolean isChecked) {
					for(int i=0;i<reason.length;i++){
						if(i==which&&isChecked){
							 
							 Toast toast = Toast.makeText(MainActivity.this, "已删除!"+reason[i], Toast.LENGTH_SHORT); 
							 toast.show(); 
						}
					}
					
				}
				 
			 }

				)

这里我们要加入boolean以及添加的选项,效果如下:


这里我们同样对选项勾选进行监听,可以做相应事情,接下来可以定义时间,日期等,这些我们在下节课再讲。
 


 
 

猜你喜欢

转载自429899791.iteye.com/blog/2198027
今日推荐