gpt4 book ai didi

java - ActionBar 刷新按钮

转载 作者:行者123 更新时间:2023-12-01 22:30:38 25 4
gpt4 key购买 nike

我在我的 ActionBar 上添加了一个刷新按钮,但问题是我的 ActionBar 上始终有这个刷新按钮。我听说我必须创建一个

这是我添加图标的位置:

 <item android:id="@+id/ofertasRefresh"
android:icon="@drawable/ic_action_refresh"
android:title="Refresh"
android:alphabeticShortcut="r"
android:orderInCategory="1"
android:showAsAction="always" />

然后我在我的 Activity 中添加了这么多代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
this.optionsMenu = menu;
MenuInflater inflater = getMenuInflater(); //ERROR<-----------
inflater.inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu); // in Fragment cannot be applied <------------
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.airport_menuRefresh:

// Complete with your code
return true;
}
return super.onOptionsItemSelected(item);
}
public void setRefreshActionButtonState(final boolean refreshing) {
if (optionsMenu != null) {
final MenuItem refreshItem = optionsMenu
.findItem(R.id.ofertasRefresh);
if (refreshItem != null) {
if (refreshing) {
refreshItem.setActionView(R.layout.actionbar_indeterminate_progress);
} else {
refreshItem.setActionView(null);
}
}
}
}

getMenuInflater()上说“无法解析该方法”,然后在“出现”中说“无法在 fragment 中应用”...

已编辑*

我认为我的问题集中在 MyActivity.java 然后我粘贴了 OnCreateOptionsMenuonOptionsItemSelected

MyActivity.java

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

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// toggle nav drawer on selecting action bar app icon/title
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
// Handle action bar actions click
switch (item.getItemId()) {
case R.id.action_settings:
return true;
default:
return super.onOptionsItemSelected(item);
}
}

有办法解决这个问题吗?

最佳答案

如果您从 Activity 调用

@Override
public boolean onCreateOptionsMenu(Menu menu) {
//this.optionsMenu = menu;
//MenuInflater inflater = getMenuInflater(); //ERROR<-----------
getMenuInflater().inflate(R.menu.main, menu);
//return super.onCreateOptionsMenu(menu); // in Fragment cannot be applied <------------
return true;
}

onCreateOptionsMenu 方法中扩充菜单。

并且,正如注释所说,只需从同一方法返回 true 即可。

如果从 fragment 调用,该方法看起来会略有不同:

    @Override
public void onCreateOptionsMenu(
Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.main, menu);
}

关于java - ActionBar 刷新按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27822002/

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