14

レイアウトでカスタム アダプターを使用してリストビューを使用しています。今、リストを含むそのレイアウトをアラートダイアログに表示しようとしています。このコードを使用して、リストを含まない単純なレイアウトを警告ダイアログに表示しようとしましたが、うまく機能しています。しかし、レイアウトを含むリストをアラートダイアログに表示できません。

           AlertDialog.Builder dialog = new AlertDialog.Builder( this );
           dialog.setView( getLayoutInflater().inflate( R.layout.smill, null ) );
           dialog.setIcon(R.drawable.androidsmile);
           dialog.setInverseBackgroundForced(true);


           dialog.setTitle( "Select smiley");
           dialog.setPositiveButton( "Cancel", null );
           dialog.show();  
4

1 に答える 1

20

あなたがしていることは、警告ダイアログにビューを膨らませていることだけです。そのリストビューにアダプターを設定していないため、もちろん、機能していないように見えます(空であるため)。

次のようなことをする必要があります:

View view = getLayoutInflater().inflate( R.layout.smill, null);
ListView listView = (ListView) view.findViewById(R.id.listView);
YourCustomAdapter adapter = new YourCustomAdapter(parameters...);
listView.setAdapter(adapter);

AlertDialog.Builder dialog = new AlertDialog.Builder( this );
dialog.setView(view);
...
...
...
dialog.show();  
于 2011-10-14T06:20:35.933 に答える