[英]Android dialog with multiple button: How to implement switch case?
如果我的對話框具有多個按鈕 ,如何將OnClickListener放入開關盒 (或if / else)中,如下所示:
我想請用戶選擇要分配給靜態變量輸入的值
public class ActivityInput extends Activity {
public static String input;
public void selectValue (final int x) {
btn = (Button) findViewById(x);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Display dialog with 3 button for user to select the values
final Dialog dialog1 = new Dialog(input.this);
dialog1.setTitle("Select a Number");
dialog1.setContentView(R.layout.dialog);
dialog1.show();
button1 = (Button) dialog1.findViewById(R.id.val1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Button p1_btn = (Button) findViewById(x);
input = "1";
p1_btn.setText("1");
dialog1.dismiss();
}
});
button2 = (Button) dialog1.findViewById(R.id.val2);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Button p1_btn = (Button) findViewById(x);
input = "2";
p1_btn.setText("2");
dialog1.dismiss();
}
});
button3 = (Button) dialog1.findViewById(R.id.val3);
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Button p1_btn = (Button) findViewById(x);
input = "3";
p1_btn.setText("2");
dialog1.dismiss();
}
});
}
});
}
}
希望您的指導盡快幫助我!
非常感謝你。
一個沒有xml的簡單解決方案:
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Title");
builder.setItems(new CharSequence[]
{"button 1", "button 2", "button 3", "button 4"},
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// The 'which' argument contains the index position
// of the selected item
switch (which) {
case 0:
Toast.makeText(context, "clicked 1", 0).show();
break;
case 1:
Toast.makeText(context, "clicked 2", 0).show();
break;
case 2:
Toast.makeText(context, "clicked 3", 0).show();
break;
case 3:
Toast.makeText(context, "clicked 4", 0).show();
break;
}
}
});
builder.create().show();
public void verticalAlert (){
String[] array = {"item01","item02","item03"};
AlertDialog.Builder builder = new AlertDialog.Builder(MyActivity.this);
builder.setTitle("Test")
.setItems(array, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// The 'which' argument contains the index position
// of the selected item
switch (which) {
case 0:
// case item 1 do...
break;
case 1:
// case item 2 do...
break;
case 2:
// case item 3 do...
break;
}
}
});
builder.show();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.