2015-05-09 80 views
0

如何使用AlertDialog中的复选框实现单选?我尝试使用setSingleChoiceItems来实现,但它显示单选按钮。 setMultiChoiceItems显示复选框,但用户可以检查多个项目。我需要用Checkbox来实现singleChoice。我需要帮助吗?如何在android中创建单选的AlertDialog复选框?

+0

你需要使其自定义布局,并将其添加到它将解决的活动 – Amitsharma

+0

您总共有多少个复选框? – NarendraJi

+0

我只有两个复选框,我不想创建自定义布局 – nAkhmedov

回答

3

以编程方式,只有两个复选框,您可以编写一个switch大小写或if-else循环与onCheckChangedListener一样;

public void onCheckedChanged(CompoundButton arg0, boolean isChecked) { 
if(isChecked){ 
switch(arg0.getId()) 
    { 
    case R.id.cbOne: 
     cbOne.setChecked(true); 
     cbTwo.setChecked(false); 
     break; 
    case R.id.cbTwo: 
     cbTwo.setChecked(true); 
     cbOne.setChecked(false); 
     break; 

    } 
} 

而对于这两个复选框的项目可以设置监听器:

yourCb = (CheckBox)findViewById(R.id.yourCb); 
yourCb.setOnCheckedChangeListener(yourListener); 

如果您自定义的背景下,默认行为也将满足您的需求.. custom-android-checkbox-radiobutton

+2

此代码是正确的也可以在这里复选框启用或desable如果你想... – Amitsharma

+0

如何从alertdialog中找到复选框项目如果我使用setM ultiChoiceItems? – nAkhmedov

+0

来自复选框的ID – user2450263