Android 在方法调用中模拟OnOptions ItemSelected
我在xml布局中有一个ImageView。ImageView有一个onClick方法Android 在方法调用中模拟OnOptions ItemSelected,android,android-layout,statusbar,android-menu,Android,Android Layout,Statusbar,Android Menu,我在xml布局中有一个ImageView。ImageView有一个onClick方法 android:onClick="onHomeClicked" 当用户单击我的图像时,我希望它依次调用活动中的选项ItemSelected。我该怎么做 以下代码为homeMenuItem提供空值: MenuItem homeMenuItem; @Override public boolean onPrepareOptionsMenu(Menu menu) { homeMenuItem = menu.
android:onClick="onHomeClicked"
当用户单击我的图像时,我希望它依次调用活动中的选项ItemSelected。我该怎么做
以下代码为homeMenuItem
提供空值:
MenuItem homeMenuItem;
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
homeMenuItem = menu.findItem(android.R.id.home);
super.onPrepareOptionsMenu(menu);
return true;
}
public void onHomeClicked(View view) {
onOptionsItemSelected(homeMenuItem);
}
您没有
MenuItem
,任何包含选项ItemSelected()的逻辑都将失败(假设有多个选项)
因为您似乎需要共享代码,所以将该逻辑块移动到它自己的方法中,然后从onHomeClicked()
和onOptions ItemSelected()
调用该方法
乙二醇
您可能需要声明方法,并从
onOptionsItemSelected
和onHomeClicked
onOptionsItemSelected(MenuItem item){
switch(item.getItemId()) {
case R.id.btn:
youNewMethod();
break;
}
}
public void onHomeClicked() {
youNewMethod();
}
private void youNewMethod(){
// write your code here
}
onOptionsItemSelected(MenuItem item){
switch(item.getItemId()) {
case R.id.btn:
youNewMethod();
break;
}
}
public void onHomeClicked() {
youNewMethod();
}
private void youNewMethod(){
// write your code here
}