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 告诉我:“w/Bundle:尝试强制转换生成的内部异常 java.lang.ClassCastException”

//Edit2:对于异常,我的代码现在是正确的,您不能直接在列表中添加项目,只能使用数组适配器?//

//Edit2:但是现在,我的列表视图什么也不做,我只有一个有标题的窗口,2个按钮但没有列表视图...我继续搜索...//

对不起我的精确度,我的代码在另一台电脑上^^'

第一个问题总是在现实中(只是为了知识),但如果有人可以帮助我解决这个例外,非常感谢;)

4

0 回答 0