3

MultiChoiceItems で CheckBox をカスタマイズする方法を探しています (電話のオリジナルは良くないと思います)。

MultiChoiceItems は AlertDialog にあります。

AlertDialog.Builder builder = new AlertDialog.builder(context);
builder.setTitle("string")
       .setMultiChoiceItems(item,selected,new DialogInterface.OnMultichoiceClickListener(){
           public void onClick(DialogInterface dialogInterface,int item, boolean b){
              booleanArrayList.set(item,b);
           }
        });
builder.setPositiveButton("ok",new DialogInterface.OnClickListener(){
    public void onClick(DialogueInterface dialog,int which){
        //Mon code//
    }
 });
builder.setNegativeButton("retour",null)
       .create()
       .show();

これは機能しています。チェックボックスのスキンに問題があるだけで、検索しても解決策が見つかりませんでした。誰かがこれを行ったことがありますか?

私の英語で申し訳ありません(私はフランス人です^^')。

ありがとうございました。

編集//検索後、解決策が見つからないため、setview でテストしたい。しかし、私は自分のコードに例外があります:

AlertDialog.Builder builder = new AlertDialog.builder(context);
builder.setTitle("string");
builder.setPositiveButton("ok",new DialogInterface.OnClickListener(){
    public void onClick(DialogueInterface dialog,int which){
        //Mon code//
    }
 });
builder.setNegativeButton("retour",null)

その後、これを追加します:(このコードは、誰かが必要とする場合に例外として使用できるようになりました)

final AlertDialog alert = builder.create();
LayoutInflater infl = alert.getLayoutInflater();
View dialog = infl.inflate(R.layout.mylistview,null);
alert.setView(dialog);
ListView lv=(ListView)dialog.findViewById(R.id.listviewcustom);
TextView tx; CheckBox cb;
LayoutInflater infl2 = alertDialog.getLayoutInflater();
vALlistview= new arrayList<View>(item.lenght);
vAAlistview= new ArrayAdaptater(context,R.id.listviewcustom);
for(ibcl=0;ibcl<item.lenght;ibcl++){
    View v = (infl2.inflate(R.layout.miccheckcustom,null);
    tx=(TextView)vALlistview.getChildAt(ibcl).findViewById(R.id.txtcustom);
    cb=(CheckBox)vALlistview.getChildAt(ibcl).findViewById(R.id.cbcustom);
    tx.setText(sAlTopicPoss.get(ibcl));
    cb.setChecked(false);
    vAAlistview.add(vALlistview.get(ibcl));
    }
vAAlistview.notifitDataSetChanged();
alert.show;

私のxml(miccheckcustom)の側面:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout>
<TextView
    android:id="txtcustom"/>
<CheckBox
    android:id="cbcustom"/>
</LinearLayout>

しかし、私は LogCat から次のように言われました。

//Edit2 : 例外について、私のコードは現在正しいです。リストに項目を直接追加することはできません。arrayadaptater を使用する場合のみですか?//

//Edit2 : しかし、今、私のリストビューは何もしません。私は、タイトルと 2 ボタンがあるウィンドウだけを使用していますが、リストビューは表示されていません...検索を続けます...//

私のコードは別の PC にあります ^^'

最初の質問は常に実際に(知識のためだけに)ありますが、例外について誰かが私を助けることができれば、どうもありがとう;)

4

0 に答える 0