在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();
}
});
答案 0 :(得分:59)
很抱歉迟到的答案 - 有可能:
((Spinner) findViewById(R.id.mySpinner)).performClick();
答案 1 :(得分:14)
有可能,你只需将其称为弹出菜单,而不是微调器。
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"/>
希望这个帮助一个人。如果您的回复有任何问题,请随意填写。
答案 2 :(得分:7)
试试这个:
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();
}
});