Android: открыть Spinner от кнопки - PullRequest
11 голосов
/ 29 января 2011

В приложении для Android возможно ли открыть всплывающее окно с вращением кнопки одним нажатием кнопки вместо нажатия действительного вращателя?

Я пробовал следующее:

Button btnChange = (Button)findViewById(R.id.btnChange);
            btnChange.setOnClickListener(new View.OnClickListener() {
                  public void onClick(View v) {
                     Spinner mySpinner = (Spinner) findViewById(R.id.sSpinner);
                     mySpinner.showContextMenu();
                  }
                });

Ответы [ 3 ]

59 голосов
/ 16 августа 2011

Извините за поздний ответ - возможно:

((Spinner) findViewById(R.id.mySpinner)).performClick();
14 голосов
/ 23 октября 2013

Возможно, вы просто называете это всплывающим меню, а не счетчик.

ImageView imageView = (ImageView) findViewById(R.id.image);
        imageView .setOnClickListener(new OnClickListener(){
            PopupMenu pum = new PopupMenu(this, findViewById(R.id.image));
            pum.inflate(R.menu.image_chooser_popup);
            pum.show();

          });
}

Ваши закручиваемые (или всплывающие) предметы отправляются в R.menu.image_chooser_popup:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
    android:title="take a picture"
    android:titleCondensed="camera"
    android:visible="true"
    android:onClick="cameraIntent" />
<item
    android:title="choose picture from gallery"
    android:titleCondensed="string"
    android:visible="true"
    android:onClick="galleryIntent"/>

Надеюсь, этот поможет кому-нибудь. Если у вас есть какие-либо проблемы с моим ответом, пожалуйста, не стесняйтесь спрашивать.

7 голосов
/ 07 февраля 2017

Попробуйте это:

Spinner mySpinner = (Spinner) findViewById(R.id.sSpinner);
Button btnChange = (Button)findViewById(R.id.btnChange);    
btnChange.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    mySpinner.performClick();
                }
            });
...