Android AlertDialog 设置setMultiChoiceItems(多选列表)
2015-12-10 17:01
459 查看
package com.example.setitemlist_dialog; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } private void Mytask(final String s){ AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.setTitle(s); builder.setMessage("确定分享到"+s); AlertDialog dialog= builder.create(); dialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定分享"+s, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplicationContext(), "已经分享到"+s, Toast.LENGTH_SHORT).show(); } }); dialog.show(); } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_settings) { return true; } if(id==R.id.action_list){ final String [] items={"转发到qq","转发到微信","转发到微博"}; AlertDialog dialog=new AlertDialog.Builder(this).setItems(items, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplicationContext(), items[which], Toast.LENGTH_SHORT).show(); //复杂的业务逻辑 Mytask( items[which]); } }).create(); dialog.setTitle("标题1"); dialog.show(); } //单选列表代码 if(id==R.id.action_singleItemn){ final String[]items={"同时转发到QQ","同时转发到微信","同时转发到微博"}; AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.setSingleChoiceItems(items, 1, new DialogInterface.OnClickListener() { //1表示下标 @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplicationContext(), items[which], Toast.LENGTH_SHORT).show(); dialog.dismiss(); } }); AlertDialog dialog= builder.create(); dialog.show(); } //多选列表实现 if(id==R.id.action_MultiItemn){ final String [] items={"同时转发到QQ","同时转发到微信","同时转发到微博"}; final boolean checkedItems[]={false,false,false}; AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { } }); AlertDialog dialog=builder.create(); dialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定选择", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //便利这个逻辑有点儿复杂 String s=""; for(int i=0;i<checkedItems.length;i++){ if(checkedItems[i]){ s=s+""+items[i]; } } Toast.makeText(getApplicationContext(), "选中了"+s, Toast.LENGTH_LONG).show(); } }); dialog.show(); } return super.onOptionsItemSelected(item); } }
这里是新建的一个item的布局内容
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context="com.example.setitemlist_dialog.MainActivity" > <item android:id="@+id/action_settings" android:orderInCategory="100" android:showAsAction="never" android:title="@string/action_settings"/> <item android:id="@+id/action_list" android:orderInCategory="100" android:showAsAction="never" android:title="选项列表"/> <item android:id="@+id/action_singleItemn" android:orderInCategory="100" android:showAsAction="never" android:title="单选列表" /> <item android:id="@+id/action_MultiItemn" android:orderInCategory="100" android:showAsAction="never" android:title="多选列表"/> </menu>
相关文章推荐
- Android小笔记(1)
- Android编程开发规范
- Android-两种方式实现走马灯效果
- Android开发,关于Intent跳转和传递值
- Android selector 失效
- Android的线程和线程池
- Android 界面编程
- Android Studio 1.5+ 配置Android Annotations框架
- Android:控件AutoCompleteTextView 客户端保存搜索历史自动提示
- Android开发笔记(十五)淡入淡出动画TransitionDrawable
- Android:控件Spinner实现下拉列表
- 《Android源码设计模式解析与实战》读书笔记(一)
- Cortana iOS版、Cortana Android版正式发布
- Android异步消息处理
- Android AlertDialog 设置setSingleChoiceItems(单选列表)
- android贴士Toast
- Android之单选框、复选框警告框
- pc上的hosts 移植到 android上
- Android 异步加载图片,使用LruCache和SD卡或手机缓存(使用线程池下载图片)
- Android开发博客_引子