0

マルチチョイスダイアログボックスのアンドロイドに小さな問題があります。

マルチチョイスダイアログボックスを表示し、ボタンクリックイベントでそれを呼び出すために、以下のコードを使用しました。タイトル、メッセージ、ボタンを設定し、ダイアログ ボックスに項目を追加しました。

設定したタイトル、メッセージ、ボタンは表示されるのですが、追加した項目が表示されません。そのために、私はグーグルで検索し、検索で見つけたすべてのコードをほとんど試しました。すべてのアプローチが私を助けたわけではありません。

これが私のコードです...

final String[] Values={"Red","Green","Blue"}; 
final boolean[] selCrayons={true,false,true};
AlertDialog.Builder dialog=new AlertDialog.Builder(this);
dialog.setTitle("Crayons List");
dialog.setMessage("Select your favouriate Crayon");
dialog.setMultiChoiceItems(Values,selCrayons,new DialogInterface.OnMultiChoiceClickListener() {
    @Override
    public void onClick(DialogInterface arg0, int arg1, boolean arg2) {
        // TODO Auto-generated method stub
        if(arg2) {
            Toast.makeText(getApplicationContext(), "Selected Color is " + Values[arg1],Toast.LENGTH_LONG).show();
        }
    }
});
dialog.setPositiveButton("SAVE",new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
    // TODO Auto-generated method stub
    }
});
AlertDialog alertDialog=dialog.create();
    alertDialog.show();
}
4

2 に答える 2

2

setMessage一緒に動作しsetMultiChoiceItemsません。削除するsetMessageと、複数選択のアイテムリストが表示されます。

メッセージと複数選択リストを一緒に使用する必要がある場合は、ダイアログに独自のカスタムビューを使用できます。

カスタムビューの設定方法については、AlertDialog.Builder setView(ビュービュー)メソッドを参照してください。

于 2013-01-15T05:47:53.943 に答える
1

私は前にこれに出くわしました、削除dialog.setMessage()してください、残念ながらあなたはメッセージと複数の選択肢の両方を持つことはできません

于 2013-01-15T05:47:19.827 に答える