弹出选择列表的android

时间:2011-06-20 04:56:10

标签: java android

我正试图摆脱使用5个按钮,当我想按下时会弹出一个窗口,允许用户选择他们想去的地方。

示例:按钮“国家/地区”

 <Button
android:id="@+id/countrySelect"
android:layout_width="300px"
android:layout_height="wrap_content"
android:text="@string/backhome"
android:layout_x="8px"
android:layout_y="21px"
>
</Button>

按下它会弹出一个国家列表供选择:像 -

countrySelect.setOnClickListener(new OnClickListener() {         
    @Override
    public void onClick(View view){

           //POP UP SELECT MENU WHEN SELECTED START A NEW INTENT
           Intent myIntent = new Intent(view.getContext(), ***SELECT MENU CONTROLS***.class);
           startActivityForResult(myIntent, 0);

        }

 });

对不起,这可能很容易解决,但是当我研究它时,我没有太多运气。

4 个答案:

答案 0 :(得分:16)

您可以使用AlertDialog。它可以显示项目列表,并在用户点击其中任何一项时做出反应http://developer.android.com/guide/topics/ui/dialogs.html#AlertDialog

答案 1 :(得分:6)

您可以在layout.xml中添加微调器

<Spinner 
android:id="@+id/areaspinner"
android:layout_width="150dip"
android:layout_height="40dip"
android:drawSelectorOnTop="true"
android:padding="5dip"
android:paddingLeft="10dip"/>  

现在在Activity.java中:

areaspinner = (Spinner) findViewById(R.id.areaspinner);
    ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, array);  //array you are populating  
    adapter2.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
    areaspinner.setAdapter(adapter2);
        areaspinner.setSelection(Integer.parseInt(strarea));  

现在您可以通过以下方式从微调器中获取选定的值:

int ipos=areaspinner.getSelectedItemPosition();
String str=array[iPos];  
祝你好运。

答案 2 :(得分:2)

为什么不使用Spinner或Single choice alert对话框。 http://developer.android.com/guide/topics/ui/dialogs.html#AlertDialog

答案 3 :(得分:0)

如果你想要一个像微调器一样的弹出式菜单但是有一个按钮,你可以使用PopupMenu

请参阅this示例