【发布时间】:2014-07-26 13:18:06
【问题描述】:
我是 Android 开发的新手,我正在创建一个同时具有顶部和底部菜单的活动。我按照this 将旧的操作栏拆分为底部菜单,并使用自定义视图作为顶部菜单。 它工作正常,但有一个小问题。
我在 CustomView 中放置了一个 SearchView,我想对其进行一些样式设置。首先是启动时自动展开。但我不知道从哪里获取我的 SearchView 对象,我尝试在 onCreateOptionsMenu 中找到它,但得到一个空指针:
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.bottom_menu, menu);
MenuItem searchMenuItem = menu.findItem(R.id.searchView);
searchMenuItem.expandActionView(); //null !!
return true;
}
我只有一个活动,我在 onCreate 方法中为自定义视图充气:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar actionBar = getActionBar();
if (actionBar != null) {
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
View view = View.inflate(getApplicationContext(), R.layout.top_menu_view, null);
actionBar.setCustomView(view);
}
}
我应该在膨胀时找到 SearchView 对象吗?
或者您对固定搜索视图有其他建议吗?
谢谢:)
【问题讨论】:
标签: android android-custom-view searchview