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