我試圖做一個對話框,選擇看起來完全一樣:AlertDialog與選擇
我使用保持着一個ListView的AlertDialog試過,但給出了一個醜陋的黑色邊框在ListView和底部灰色區域之間。我可以使用普通的對話框,但我不想手動構建底部灰色區域。
我知道我可以繼承AlertDialog,但是我還需要子類化Builder,並且它最終成爲很多小代碼。有沒有這樣做的完美方式?
乾杯,
我試圖做一個對話框,選擇看起來完全一樣:AlertDialog與選擇
我使用保持着一個ListView的AlertDialog試過,但給出了一個醜陋的黑色邊框在ListView和底部灰色區域之間。我可以使用普通的對話框,但我不想手動構建底部灰色區域。
我知道我可以繼承AlertDialog,但是我還需要子類化Builder,並且它最終成爲很多小代碼。有沒有這樣做的完美方式?
乾杯,
使用警報對話框生成器,它有選項。簡單的例子:
AlertDialog.Builder adb = new AlertDialog.Builder(this);
CharSequence items[] = new CharSequence[] {"First", "Second", "Third"};
adb.setSingleChoiceItems(items, 0, new OnClickListener() {
@Override
public void onClick(DialogInterface d, int n) {
// ...
}
});
adb.setNegativeButton("Cancel", null);
adb.setTitle("Which one?");
adb.show();
見dialogs doc,部分添加列表。
您應該使用以下代碼來選擇單個項目。這是工作代碼
CharSequence colors[] = new CharSequence[]{"View PDF", "Reduce Size", "Delete PDF", "Share PDF"};
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Select Option");
builder.setItems(colors, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.e("value is", "" + which);
switch (which) {
case 0:
break;
case 1:
break;
case 2:
break;
case 3:
break;
}
}
});
builder.show();
我建議你把它是這樣adb.setSingleChoiceItems(項目,-1,新DialogInterface.OnClickListener() – 2015-04-27 06:40:31
@AbdulazizNoor爲什麼呢? – Jaec 2016-06-03 04:53:22
@Jaec我真的忘記了爲什麼loooool – 2016-06-08 12:27:32