首先,我正在运行最新的Lollipop - 最小和目标SDK都是22
minSdkVersion 22
targetSdkVersion 22
在gradle构建中。我已将这些更改/更改为22,以及重建/无效的缓存/已清除。我正在扩展我的主要活动:
public class login_activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_layout);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.login_menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
return true;
}
}
以下是我的菜单项目:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/login_help"
android:icon="@android:drawable/ic_menu_help"
android:title="@string/login_help_text"
app:showAsAction="ifRoom"/>
</menu>
当我运行我的代码时,它会一直显示ActionBar溢出菜单中的项目。我该如何解决?谢谢!
答案 0 :(得分:0)
尝试更换&#34; ifroom &#34;与&#34; 始终&#34;对于 showAsAction ,如下所示
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/login_help"
android:icon="@android:drawable/ic_menu_help"
android:title="@string/login_help_text"
app:showAsAction="always"/>
</menu>
答案 1 :(得分:0)
我实际上花了将近五个小时试图解决这个问题,但实际上我现在想通过我的gradle文件。以下是解决问题的方法:
删除依赖项下的行(我的这一行,不确定它们是如何变化的):
compile 'com.android.support:appcompat-v7:22.2.0' (REMOVE THIS)
返回菜单文件并删除showAsAction之前放置的命名空间的命名空间定义
xmlns:app="http://schemas.android.com/apk/res-auto" (REMOVE THIS)
重建&amp;编译。它应该工作!我希望改变SDK自己清理,但是,嘿,你能做什么。