Android:创建一个具有多个选择选项的弹出窗口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android:创建一个具有多个选择选项的弹出窗口相关的知识,希望对你有一定的参考价值。
我一直在寻找如何创建弹出窗口或有4个选项可供选择的对话框。
我在android开发者网站上看到了这张图片:
有谁知道如何编码像右边那样的东西?我的文本旁边不需要任何图标,我只需要能够从4个选项中进行选择。
答案
您可以使用要在其中显示的选项创建一个CharSequence
数组,然后使用AlertDialog.Builder
方法将数组传递给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();
输出(在Android 4.0.3上):
(不包括背景地图。;))
另一答案
弹出窗口只是AlertDialog
。所以你只需要创建AlertDialog
,然后使用LayoutInflater
膨胀你想要的视图并使用setView()
的AlertDialog
方法设置膨胀的视图
另一答案
试试这个 :
public void onClick(查看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();
另一答案
替代选择
这是我的第一篇文章,所以我很高兴分享我的代码!这对我有用:
将这两行放在OnCreate事件上方
final String[] Options = "Red", "Blue";
AlertDialog.Builder window;
将此代码放在将触发此事件的事件上
window = new AlertDialog.Builder(this);
window.setTitle("Pick a color");
window.setItems(Options, new DialogInterface.OnClickListener()
@Override
public void onClick(DialogInterface dialog, int which)
if(which == 0)
//first option clicked, do this...
else if(which == 1)
//second option clicked, do this...
else
//theres an error in what was selected
Toast.makeText(getApplicationContext(), "Hmmm I messed up. I detected that you clicked on : " + which + "?", Toast.LENGTH_LONG).show();
);
window.show();
以上是关于Android:创建一个具有多个选择选项的弹出窗口的主要内容,如果未能解决你的问题,请参考以下文章
如何在 android studio 的弹出窗口内添加滚动的 listView?