我的应用操作栏有一些问题。我想更改操作栏的背景颜色,所以我使用了这段代码。问题是我总是得到一个NullPointerException(bar总是为null)。我该怎么办?
ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable("COLOR"));
我还想在应用程序的右上角添加一个下拉菜单(在操作栏中)。所以我使用了这个xml代码和这个事件:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/spinner"
yourapp:showAsAction="ifRoom"
yourapp:actionViewClass="android.widget.Spinner" />
</menu>
和
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_layout, menu);
MenuItem item = menu.findItem(R.id.spinner);
Spinner spinner = (Spinner) MenuItemCompat.getActionView(item);
spinner.setAdapter(adapter); // set the adapter to provide layout of rows and content
s.setOnItemSelectedListener(onItemSelectedListener); // set the listener, to perform actions based on item selection
但是我总是在yourapp中遇到一些错误:actionViewClass(我总是得到一个错误的前缀错误,无论我用作myapp)和R.menu.menu_layout(R.menu不存在)。我做错了什么?
答案 0 :(得分:0)
您使用的是什么类型的活动?你有ActionBar还是工具栏?
如果您使用的是SupportActionBar,可以尝试:
getSupportActionBar();
对于菜单问题,您是否在res/menu
文件夹中有菜单布局?