查看了众多文章,发现方法基本上相同,虽然查证了每个方法的正确性,但是在自己实践的时候,应用调试的时候一启动就奔溃了。通过log.i日志查看到一行已经失效的代码没有发挥作用。
于是面向百度仔细的查找,终于在一个论坛的评论里找到了解决办法。
链接:该评论的链接
我的代码如下:
java
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowTitleEnabled(false);//去掉title的label
actionBar.setDisplayShowHomeEnabled(false);//隐藏title的logo和icon
final String[] actions = getResources().getStringArray(R.array.login_title);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, actions);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
ActionBar.OnNavigationListener navigationListener = new ActionBar.OnNavigationListener() {
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
Toast.makeText(MainActivity.this, "You selected : " + actions[itemPosition], Toast.LENGTH_SHORT).show();
return false;
}
};
actionBar.setListNavigationCallbacks(adapter, navigationListener);
array
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="login_title">
<item >登陆</item>
<item >账号</item>
<item >退出</item>
<item> 其他</item>
</string-array>
</resources>
图片效果如下: