创建弹出列表并从列表中进行选择

时间:2012-10-05 17:48:10

标签: android popupmenu

我想在该列表中创建一个如上所示的弹出列表,将有不同的距离,当我点击该距离的距离时,将从以下列表中显示该描述。请帮忙 至少告诉如何制作弹出列表。对于Android 感谢

enter image description here

2 个答案:

答案 0 :(得分:2)

我认为你指的是Spinner。它非常易于使用。如果您只使用下拉列表的一组特定值,则可以使用字符串数组资源作为Spinner的数据源。在values目录下的XML中定义一个这样的数组。根据您需要为Spinners下拉列表添加任意数量的项目。

<string-array name="distances">
    <item>1 Mile</item>
    <item>2 Miles</item>
</string-array>

在布局文件中定义Spinner小部件

<Spinner
    android:id="@+id/spinnerDistances"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

然后在您使用该布局的任何活动中:

Spinner spinner = (Spinner) findViewById(R.id.spinnerDistances);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.distances, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);

不要忘记为微调器定义一个事件监听器,这样当用户在Spinner上选择一些东西时,程序就可以做一些事情。

编辑: 要在从微调器中选择项目时执行某些操作,您需要重写OnItemSelectedListener.onItemSelected()并将Spinner设置为将该侦听器与Spinner.setOnItemSelectedListener()一起使用。您可以通过使您的类实现OnItemSelectedListener并实现所需的方法或类似的方法来实现此目的:

mySpinner.setOnItemSelectedListener(new OnItemSelectedListener()
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id)         
    {
    // TODO Auto-generated method stub
}

    @Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
);

答案 1 :(得分:0)

你可以用

在android中创建活动
<activity
            android:name=".youractivityname"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Dialog" />

在此活动中添加列表视图,并在列表中添加所需的项目。 主题对话框将您的活动创建为对话框并显示为一种弹出窗口 如果这有助于你,请告诉我