【发布时间】:2015-02-22 17:43:36
【问题描述】:
我的菜单中有一个项目
case R.id.theme:
ShowRadioDialog();
return true;
使用显示带有 3 个单选按钮的警报对话框的方法。当我单击该项目时,对话框会显示,但是当我在对话框中选择某个项目并点击 positiove 按钮时,没有任何反应。方法是这样的:
public void ShowRadioDialog() {
final CharSequence[] items={"Rosso","Verde","Blu"};
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("Seleziona un colore");
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@SuppressLint("NewApi")
@Override
public void onClick(DialogInterface dialog, int which) {
if (wich== 1) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
getWindow().setStatusBarColor(MainActivity.this.getResources().getColor(R.color.red));
toolbar.setBackgroundColor(MainActivity.this.getResources().getColor(R.color.red));
Toast.makeText(MainActivity.this, "Rosso OK", Toast.LENGTH_SHORT).show();
Log.i("Colors", "Rosso Ok");
}
} else if (wich ==2) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
getWindow().setStatusBarColor(MainActivity.this.getResources().getColor(R.color.green_welcome));
}
} else if (wich == 3){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
getWindow().setStatusBarColor(MainActivity.this.getResources().getColor(R.color.primary_dark_blue));
}
}
}
});
builder.setSingleChoiceItems(items,-1, new DialogInterface.OnClickListener() {
@SuppressLint("NewApi")
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
if ("Rosso".equals(items[which])) {
which = 1;
} else if ("Verde".equals(items[which])) {
which = 2;
} else if ("Blu".equals(items[which])) {
which = 3;
}
}
});
builder.show();
}
我不确定这是正确的方法。但是,没有出现任何一个(登录 logcat 和应用程序中的 Toast)。似乎正按钮不接受选择。有什么问题吗?
【问题讨论】:
-
which和wich之间有什么区别吗?您在积极按钮点击上使用的 -
这只是一个打字错误对不起..是一样的真实..
标签: java android radio-button android-alertdialog