自定义 对话框

在Android应用开发中,当系统默认的对话框不能满足需求时,可以自定义对话框。通过创建Builder对象,利用setAdapter方法结合SimpleAdapter,设置自定义布局。此示例展示了如何使用HashMap存储数据,然后通过SimpleAdapter填充对话框,并添加点击监听以实现特定功能。
摘要由CSDN通过智能技术生成

如果你在开发app时,发现系统给的对话框无法满足你的需求是你就可以自定义对话框。思路是1:首先要得到一个Builder对象为builder在Builder里有setAdapter(Adapter,Listener)方法这里需要一种适配器和监听。再根据你所要的实际需求去选择合适的适配器,我接下来是以android封装好的适配器 SimpleAdapter来举例子。

public void AlertDailog(View v) {
final String []name=new String[]{"hanhan","weida","siniu"};


final String[] infos=new String[]{"tomoto","cha qiufong","shabi"};


int[]imageid=new int[]{R.drawable.pag1,R.drawable.pag2,R.drawable.pag3};


List<Map<String, Object>> listItems=new ArrayList<>();//用list集合存储这些内容


for(int i=0;i<imageid.length;i++){


Map<String,Object>map=new HashMap<>();


map.put("img", imageid[i]);


map.put("title", name[i]);


map.put("img", infos[1]);


listItems.add(map);


}
simple=new SimpleAdapter(this, listItems, R.layout.simple_activity, new String[]{"img","title","img"}, new int[]{R.id.iv,R.id.tv_infos,R.id.tv_name});
                           //得到SimpleAdapter对象

AlertDialog.Builder builder=new Builder(this);//创建Builder对象


      builder.setIcon(R.drawable.ic_launcher);//设置对话框的图标


      builder.setTitle("good good study day day up");//设置对话框标题


      builder.setAdapter(simple, new AlertDialog.OnClickListener() {
//用适配器填充你自定义的布局
@Override
public void onClick(DialogInterface dialog, int which) {


// TODO Auto-generated method stub


Toast.makeText(MainActivity.this, "你选择的是"+name[which], Toast.LENGTH_SHORT).show();


}
});

      builder.show();//显示对话框
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值