android 多选列表对话框如何做?

米尤人 2011-03-21 04:24:38
android 多选列表对话框如何做?有没有示例源码?
...全文
1698 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
JamesLiu 2011-04-24
  • 打赏
  • 举报
回复
http://blog.csdn.net/jamesliulyc/archive/2011/04/24/6359628.aspx
lversam 2011-03-22
  • 打赏
  • 举报
回复
activity中这样写:
package com.android.test;


import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class CheckboxDialogSample extends Activity {
final int LIST_DIALOG_MULTIPLE = 5;
boolean[] mulFlags=new boolean[]{true,false,false,true};
String[] items=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
items=getResources().getStringArray(R.array.msa);
Button btn = (Button)findViewById(R.id.Button01);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDialog(LIST_DIALOG_MULTIPLE);
}
});
}
@Override
protected Dialog onCreateDialog(int id) {
Dialog dialog = null;
switch(id){
case LIST_DIALOG_MULTIPLE:
Builder b = new AlertDialog.Builder(this);
b.setIcon(R.drawable.header);
b.setTitle(R.string.title);
b.setMultiChoiceItems(
R.array.msa,
mulFlags,
new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
mulFlags[which] = isChecked;
String result = "您选择了:";
for(int i=0;i<mulFlags.length;i++){
if(mulFlags[i]){
result = result+items[i]+"、";
}
}
EditText et = (EditText)findViewById(R.id.EditText01);
et.setText(result.substring(0,result.length()-1));
}
});
b.setPositiveButton(
R.string.ok,
new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {}
});
dialog = b.create();
break;
default:
break;
}
return dialog;
}
}

main.xml中这样写:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<EditText
android:id="@+id/EditText01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:editable="false"
android:cursorVisible="false"
/>
<Button
android:text="@string/btn"
android:id="@+id/Button01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>

string中随你了,配好就差不多了
foley_liao 2011-03-22
  • 打赏
  • 举报
回复
直接用一个activity设置成对话框模式不是很好实现, 在这个activity的布局里面随便放多少个列表都行。

<activity android:name=".DialogActivity" android:theme="@android:style/Theme.Dialog"></activity>
chewei830 2011-03-21
  • 打赏
  • 举报
回复
public class DialogActivity extends Activity {
private Button b;
private TextView tv;
final String[] items={"a","b","c"};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.setContentView(R.layout.dialog);
b=(Button)this.findViewById(R.id.dialog_b);
tv=(TextView)this.findViewById(R.id.dialog_tv);
final AlertDialog.Builder builder=new AlertDialog.Builder(this);
b.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
builder.setTitle("select").setMultiChoiceItems(items, null, new DialogInterface.OnMultiChoiceClickListener() {

@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
// TODO Auto-generated method stub
tv.setText(items[which]);
}
});
AlertDialog ad=builder.create();
ad.show();
}
});
}

}

应该看得懂吧
verysb5 2011-03-21
  • 打赏
  • 举报
回复
自定义Dialog可以做到
Birds2018 2011-03-21
  • 打赏
  • 举报
回复
多选列表对话框?
是弹出对话框,对话框中有列表显示? 如果是这样,自定义Dialog可以做到

米尤人 2011-03-21
  • 打赏
  • 举报
回复
没有人加答吗》

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧