有没有办法将多个复选框转换为只能检查一个框的框?setSingleChoiceItems and setPositiveButton Android
所以这里是我正在尝试解决的问题,包括对话框alertbox和singlechoice-multichoice。
新年快乐!
public class MainActivity extends Activity {
CharSequence[] items = {"FIT", "Fakultet za menadzment", "Fakultet digitalnih umetnosti"};
private String selectedItem;
public int proba;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
private void launchWebPage(String url){
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
public void dialog(View v){
showDialog(0);
}
public void dialog1(View v){
Toast.makeText(getBaseContext(), "Nema deklarisanu funkciju.", Toast.LENGTH_LONG).show();
}
public void dialog2(View v){
Toast.makeText(getBaseContext(), "Nema deklarisanu funkciju.", Toast.LENGTH_LONG).show();
}
public Dialog onCreateDialog(final int id) {
final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Odabir");
builder.setSingleChoiceItems(items, 1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
selectedItem = (String) items[i];
proba = i;
}
});
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int position) {
Toast.makeText(getBaseContext(), "Test", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getBaseContext(), "Cancel pritisnuto!", Toast.LENGTH_SHORT).show();
}
});
builder.show();
return null;
}
}
嗯我使它与setSingleChoiceItems()一起工作,但问题是我需要意图的东西只有按下确定按钮后,而不是当它被点击。所以我撞到了墙上。 – Beansolder
@Beansolder:只要忽略你传递给'setSingleChoiceItems()'的'DialogInterface.Listener'。 AFAIK,对话框仍然保持不变,当用户完全接受或取消对话时,您可以做出反应。 – CommonsWare
我在那里编辑了代码。问题是,我无法在正面按钮中调用ITEMS,并且我也许可以放置多个选项,然后强制它仅显示一个复选框,因此,按下OK按钮时,它将显示所选位置之一。如果你明白我的意思? – Beansolder