这两天在看Android开发,现在的情况就是,我按照Guide上的做了,但是Action Bar上的自定义Activity显示不出来,一直只有一个默认的Settings... 似乎把xml里面关于setting的action删掉都还是只会显示settings...... 于是我在MyActivity里加入了按下各个Activity都会产生Toast的代码,依然只有Settings显示出来,而且按下之后会显示Toast。开发环境是brew下来的Android Studio,然后运行环境是Android 5.1 @ Nexus 5。啊还有在main_activity_actions.xml里,Android Studio一只提示让我用app:showAsAction,然而我让他自动补全之后依然显示不出来。不知道这里是什么问题,萌新要被搞哭了qwq。谢谢各位><
main_activity_actions.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Search, should appear as action button -->
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
android:showAsAction="never"/>
<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:icon="@drawable/ic_action_settings"
android:showAsAction="never"/>
</menu>
MyActivity.java
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
Toast.makeText(getApplicationContext(), "lol", Toast.LENGTH_LONG).show();
return true;
}
if (id == R.id.action_search) {
Toast.makeText(getApplicationContext(), "lol", Toast.LENGTH_LONG).show();
return true;
}
return super.onOptionsItemSelected(item);
}
1
XerWandeRer 2015-04-27 01:56:26 +08:00 1
仔细看 Training Guide 里 Add the Actions to the Action Bar 的一部分。
|
2
20015jjw OP @XerWandeRer 啊哈我忘记复制了抱歉,我按照他写的改动了我的MyActivity,如下:
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu items for use in the action bar MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main_activity_actions, menu); return super.onCreateOptionsMenu(menu); } |
3
20015jjw OP @XerWandeRer 什么鬼...................... 不支持markdown么好诡异。。。。 抱歉。。。 反正大概就是我已经有这段代码啦,依然没有啥用><
|
4
XerWandeRer 2015-04-27 02:12:26 +08:00 1
@20015jjw 回复不支持 Markdown,不过可以嵌入 Gist。
你这个情况应该是没有使用 main_activity_actions.xml 这个文件 inflate,所以才会出现你说的删了 settings 还是有而加了 search 却没有的情况,吧? |
5
20015jjw OP @XerWandeRer ok 我马上看看 谢谢!
|
6
20015jjw OP @XerWandeRer 谢谢!解决了!><
|
7
20015jjw OP 之所以Studio一直让我使用旧版的指令,是因为我的Activity Class继承了旧版的ActionBarActivity,而不是新sdk里支持的Activity。现在问题都解决啦~ 谢谢!@XerWandeRer
|
8
hahasong 2015-04-27 10:19:44 +08:00 1
调试用 Log.i 啊,toast这么用也是醉了
|