欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android之对话框百变篇(11) 博客分类: Android初步 安卓;对话框;监听事件;单选;复选框 

程序员文章站 2024-03-11 21:28:01
...

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

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,因为你已经用自定义的取代显示内容了)


Android之对话框百变篇(11)
            
    
    博客分类: Android初步 安卓;对话框;监听事件;单选;复选框 


Android之对话框百变篇(11)
            
    
    博客分类: Android初步 安卓;对话框;监听事件;单选;复选框 

在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(); 
					
				}
				 
			 })

效果: 
Android之对话框百变篇(11)
            
    
    博客分类: Android初步 安卓;对话框;监听事件;单选;复选框 

同样也可以定义复选框,我们知道美团默认的就是复选框,所以接下来就是要用到: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以及添加的选项,效果如下:


Android之对话框百变篇(11)
            
    
    博客分类: Android初步 安卓;对话框;监听事件;单选;复选框 

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

 


 
 

 

 

  • Android之对话框百变篇(11)
            
    
    博客分类: Android初步 安卓;对话框;监听事件;单选;复选框 
  • 大小: 73.6 KB
  • Android之对话框百变篇(11)
            
    
    博客分类: Android初步 安卓;对话框;监听事件;单选;复选框 
  • 大小: 69 KB
  • Android之对话框百变篇(11)
            
    
    博客分类: Android初步 安卓;对话框;监听事件;单选;复选框 
  • 大小: 34.3 KB
  • Android之对话框百变篇(11)
            
    
    博客分类: Android初步 安卓;对话框;监听事件;单选;复选框 
  • 大小: 33.9 KB