2013-05-05 52 views
63

我一直在四处搜寻,试图找出如何创建一个弹出窗口或有4个选项可供选择的对话框。Android:创建一个具有多个选择选项的弹出框

我看到在Android开发者网站这样的画面:

enter image description here

有谁知道如何编写起来有点像一个在右边?我不需要任何图标旁边的文字,我只需要能够从4个选项中选择。

回答

204

setView()方法膨胀的看法,您可以创建一个CharSequence阵列选项您想要在那里显示,然后使用方法setItems(CharSequence[], DialogInterface.OnClickListener)将该阵列传递到AlertDialog.Builder

一个例子:

CharSequence colors[] = new CharSequence[] {"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(); 

输出(在Android 4.0.3):(不包括背景地图)

Output

+3

'.create() ''在这里是不必要的,'.show()'将返回由构建器创建的对话框,然后显示它。 – TronicZomB 2013-05-05 22:19:40

+1

你是对的。谢谢。 – zbr 2013-05-05 22:20:49

+2

非常感谢你。我真的不想为一个简单的文本菜单实现一个xml布局,并且找不到一个简单的方法来做到这一点,直到我偶然发现这篇文章。 – 2014-01-24 01:24:20

4

的弹出窗口都不过是AlertDialog。所以你只需要创建AlertDialog,然后使用LayoutInflater虚增您需要的视图,并设置使用的AlertDialog

相关问题