我寻求如何在我的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:对于异常,我的代码现在是正确的,你不能直接在列表中添加一个项目,只能使用arrayadaptater?//
// Edit2:但是现在,我的listview什么都不做,我只有一个有标题的窗口,2个按钮但没有列表视图...我继续搜索... //
对不起我的精确度,我的代码在另一台电脑上^^'
第一个问题始终是真实的(只是为了知识),但如果有人可以帮我解决异常,那么,非常感谢;)