android 多选列表对话框如何做?有没有示例源码?

解决方案 »

  1.   

    多选列表对话框?   
    是弹出对话框,对话框中有列表显示? 如果是这样,自定义Dialog可以做到
      

  2.   

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

    }应该看得懂吧
      

  3.   

    直接用一个activity设置成对话框模式不是很好实现, 在这个activity的布局里面随便放多少个列表都行。 <activity android:name=".DialogActivity" android:theme="@android:style/Theme.Dialog"></activity>
      

  4.   

    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中随你了,配好就差不多了
      

  5.   

    http://blog.csdn.net/jamesliulyc/archive/2011/04/24/6359628.aspx