0

フラグメントにボタンがあります。クリックすると、リストビュー項目が入力されたダイアログを開く必要がありますが、リスト項目を含むダイアログを開くことができません

 final ListView lv = (ListView) view.findViewById(R.id.mylist);
button.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {        

                   Dialog dialog = new Dialog(getActivity());
                   dialog.setContentView(R.layout.list_view);
                   dialog.setTitle("Custom Dialog");

                   ArrayAdapter<String> selectedAdapter = new ArrayAdapter<String>(getActivity(), R.layout.list_view,R.id.text, event);
                   selectedAdapter.setNotifyOnChange(true);                  
                   lv.setAdapter(selectedAdapter);
                   dialog.show();                
                }        
            });

私のリストビュー

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
<TextView
    android:id="@+id/text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical|center_horizontal"
    android:text=""
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="#FFFFFF" />

         <ListView
            android:id="@+id/mylist"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:divider="#b5b5b5"
            android:dividerHeight="5dp" />
     </LinearLayout>

どんな助けでも大歓迎です。

4

2 に答える 2

2

このように ListView を初期化します。

button.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {        
                   Dialog dialog = new Dialog(getActivity());
                   dialog.setContentView(R.layout.list_view);
                   dialog.setTitle("Custom Dialog");
                   ListView lv = (ListView) dialog.findViewById(R.id.mylist); 
                   ArrayAdapter<String> selectedAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, event);
                   selectedAdapter.setNotifyOnChange(true);                  
                   lv.setAdapter(selectedAdapter);
                   dialog.show();                
                }        
            });

編集:カスタムダイアログがあります。テキストビューとリストビューを含むレイアウトがありますlist_view。したがって、リストビューを初期化するには、ダイアログ オブジェクトを使用してリストビューを初期化する必要があります

同様に、テキストビューを初期化します

    TextView tv = (TextView)dialog.findViewById(R.id.text);
于 2013-08-13T07:01:52.210 に答える