我正试图摆脱使用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);
}
});
对不起,这可能很容易解决,但是当我研究它时,我没有太多运气。
答案 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)