【问题标题】:Android: Open Spinner from ButtonAndroid:从按钮打开微调器
【发布时间】:2017-02-07 17:25:40
【问题描述】:

在 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();
                  }
                });

【问题讨论】:

    标签: android button spinner


    【解决方案1】:

    抱歉回答晚了 - 有可能:

    ((Spinner) findViewById(R.id.mySpinner)).performClick();
    

    【讨论】:

    • @Zeratul,performClick直接调用spinner的onItemSelected方法吧?有什么方法可以在另一个视图的 onClick 上显示微调器,并且在我们选择一个项目后将调用 onItemSelected?
    【解决方案2】:

    有可能,你只是叫它弹出菜单,而不是微调器。

    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"/>
    

    希望这个可以帮助一些人。如果您对我的回复有任何疑问,请随时填写。

    【讨论】:

      【解决方案3】:

      试试这个:

      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();
                      }
                  });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-27
        • 1970-01-01
        • 2016-02-27
        • 1970-01-01
        • 2012-12-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多