0

チェックボックスとテキストビューを含むリストビューを使用してカスタムダイアログを作成しようとしていますが、それを行うための合理的なチュートリアルが見つかりませんでした。ヘルプやヒントをいただければ幸いです。

4

3 に答える 3

6
private void showPopUp()
{
    final AlertDialog.Builder helpBuilder = new AlertDialog.Builder(this);
    helpBuilder.setTitle("");

    LayoutInflater inflater = getLayoutInflater();
    final View PopupLayout = inflater.inflate(R.layout.yourxml, null);
    helpBuilder.setView(PopupLayout);

    final AlertDialog helpDialog = helpBuilder.create();
    helpDialog.show();

    jobList         =   (ListView)PopupLayout.findViewById(R.id.list);

    mylist          =   new ArrayList<HashMap<String, String>>();

    for(int i=0;i<arraylist.size();i++)
    {
        map = new HashMap<String, String>();
        map.put("name", arraylist.get(i));
        mylist.add(map);
    }
    sd = new SimpleAdapter(activity.this,mylist,R.layout.jobslist,
                new String[]{"name"},new int[]{R.id.jobText});
    jobList.setAdapter(sd);


}

joblist.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/lin01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#fff"
android:padding="10dp"
android:orientation="horizontal">

        <TextView
            android:id="@+id/jobText"
            android:layout_width="0dp"
            android:text="@string/jobtype"
            android:layout_weight="1"
            android:gravity="left|center_vertical"
            android:layout_marginLeft="10dp"
            android:textSize="25dp"
            android:textColor="#000"
            android:layout_height="50dp"/>

        <CheckBox 
            android:id="@+id/chk"
            android:layout_width="wrap_content"
            android:text=""
            android:gravity="center_vertical|right"
            android:layout_height="wrap_content"/>


        </LinearLayout>

このshowPopUp();関数は、リストビューでアラートダイアログを表示したい場所ならどこでも呼び出すことができます。リスト内のアイテムを表示するためにアイテムを追加できるarraylistがあることに注意してください

于 2012-11-22T03:33:03.530 に答える
3
    ListView myList = new ListView(Activity.this);
    myList.setAdapter(adapter);

    AlertDialog.Builder builder = new AlertDialog.Builder(Activity.this);
    builder.setView(myList);
    Dialog d = builder.create();
    d.show();

アダプター内のテキストビューやチェックボックスなどを指定できます。

于 2012-11-22T01:59:26.277 に答える
1

あなたが探しているのは、ListViewの複数選択モードのようです。そのフレーズを知らなければ、良い例を得るのはかなり難しいですが、ここにあなたを助けるかもしれない答えを持った別のSOの質問があります。

(ダイアログでこれを行うことは、基本的に、選択した回答の例と同じプロセスです。)

于 2012-11-22T02:45:35.937 に答える