如何使Button像Spinner一样

时间:2012-06-06 09:52:33

标签: android android-spinner android-button

我希望Button可以像Spinner一样拉出菜单,但不需要像Spinner中的提示一样存储数据。

Spinner看起来像这样:

Spinner spinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.social_list, android.R.layout.simple_gallery_item);//select_dialog_multichoice);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);

spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());

我需要像Button一样工作......谢谢

3 个答案:

答案 0 :(得分:2)

我认为你应该将spinner.performClick();放在按钮点击方法

答案 1 :(得分:0)

您可以使用ContextMenu。 这是一个关于Context Menu Demo的链接。

http://mobile.dzone.com/news/context-menu-android-tutorial

但是需要很少的修改。在按钮单击事件中,您必须打开ContextMenu。

答案 2 :(得分:0)

只需打开对话框,按钮单击上的列表将与spinner看起来相同.....

,如

http://saga-androidapplication.blogspot.in/2011/05/dialog-list-item.html

http://developer.android.com/guide/topics/ui/dialogs.html#AddingAList

使用Resources res = getResources();

final String[] items = res.getStringArray(R.array.social_list);
//final CharSequence[] items = {"Red", "Green", "Blue"};

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Pick a color");
    builder.setItems(items, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int item) {
            Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
        }
    });
    AlertDialog alert = builder.create();

Android Custom List Dialog