AlertDialog中MultiChoiceItems的自定义CheckBox

时间:2013-12-04 10:35:04

标签: android checkbox alertdialog multichoiceitems

我寻求如何在我的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个按钮但没有列表视图...我继续搜索... //

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

第一个问题始终是真实的(只是为了知识),但如果有人可以帮我解决异常,那么,非常感谢;)

0 个答案:

没有答案