zbr*_*zbr 272
您可以CharSequence使用要在其中显示的选项创建数组,然后AlertDialog.Builder使用该方法将数组传递给a setItems(CharSequence[], DialogInterface.OnClickListener).
一个例子:
String[] colors = {"red", "green", "blue", "black"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a color");
builder.setItems(colors, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// the user clicked on colors[which]
}
});
builder.show();
Run Code Online (Sandbox Code Playgroud)
输出(在Android 4.0.3上):

(不包括背景地图.;))
尝试这个 :
public void onClick(View v) {
final String[] fonts = {
"Small", "Medium", "Large", "Huge"
};
AlertDialog.Builder builder = new AlertDialog.Builder(TopicDetails.this);
builder.setTitle("Select a text size");
builder.setItems(fonts, new DialogInterface.OnClickListener() {@
Override
public void onClick(DialogInterface dialog, int which) {
if ("Small".equals(fonts[which])) {
Toast.makeText(TopicDetails.this, "you nailed it", Toast.LENGTH_SHORT).show();
} else if ("Medium".equals(fonts[which])) {
Toast.makeText(TopicDetails.this, "you cracked it", Toast.LENGTH_SHORT).show();
} else if ("Large".equals(fonts[which])) {
Toast.makeText(TopicDetails.this, "you hacked it", Toast.LENGTH_SHORT).show();
} else if ("Huge".equals(fonts[which])) {
Toast.makeText(TopicDetails.this, "you digged it", Toast.LENGTH_SHORT).show();
}
// the user clicked on colors[which]
}
});
builder.show();
}
Run Code Online (Sandbox Code Playgroud)
弹出窗口只是AlertDialog.所以你只需要创建AlertDialog,然后使用所需的视图LayoutInflater充气并使用setView()方法设置膨胀的视图AlertDialog