我寻求如何在我的 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 告诉我:“w/Bundle:尝试强制转换生成的内部异常 java.lang.ClassCastException”
//Edit2:对于异常,我的代码现在是正确的,您不能直接在列表中添加项目,只能使用数组适配器?//
//Edit2:但是现在,我的列表视图什么也不做,我只有一个有标题的窗口,2个按钮但没有列表视图...我继续搜索...//
对不起我的精确度,我的代码在另一台电脑上^^'
第一个问题总是在现实中(只是为了知识),但如果有人可以帮助我解决这个例外,非常感谢;)