gpt4 book ai didi

android - 菜单项在 fragment android中调用两次

转载 作者:行者123 更新时间:2023-11-30 01:55:33 26 4
gpt4 key购买 nike

In fragment when i click on menu item , it calls function twice one is from previous fragment and other one is from existing fragment.

Fragment 1:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == R.id.refresh){
RetryCallMap();
return true;
}else
return false;
}
Fragment 2:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == R.id.refresh){
RetryCall();
return true;
}else
return false;
}
MainActivity :

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.map) {
pushFragments("mapFragment", new MapFragment(), true, true);
return true;
}
if (id == android.R.id.home) {
this.drawerLayout.openDrawer(drawableListView);
return true;
}
return super.onOptionsItemSelected(item);
}

这些是 fragment ,我的 MainActivity 我正在通过单击菜单项刷新 fragment ,这样如果找不到互联网连接或在获取时出现任何其他问题,我可以刷新页面。

最佳答案

在 onOptionsItemSelected() 函数中返回 true 对我有用。

 @Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == R.id.refresh){
RetryCall();
return true;
}else
return true;
}

关于android - 菜单项在 fragment android中调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32305202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com