我正在开发一个适用于API Level 14的Android应用程序。
我的菜单文件中有一个项目
<item
android:id="@+id/menu_search"
android:actionViewClass="android.widget.SearchView"
android:icon="@drawable/ic_action_action_search"
android:orderInCategory="3"
android:showAsAction="always"/>
我想知道这个搜索视图的扩展和崩溃,我尝试了这段代码,但它无法正常工作
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_search, menu);
MenuItem mSearchItem = menu.findItem(R.id.menu_search);
mSearchItem.setOnActionExpandListener( new OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "onMenuItemActionExpand", 1)
.show();
return true;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "onMenuItemActionExpand", 1)
.show();
return true;
}
});
}
}
为什么我没有得到祝酒词?
我也尝试过代码格式Handling collapsible action views,它也无效!为什么这些东西不起作用?
修改
我可以使用
让它工作mSearchView.addOnLayoutChangeListener(new OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v, int left, int top, int right,
int bottom, int oldLeft, int oldTop, int oldRight,
int oldBottom) {
SearchView searchView = (SearchView) v;
if (searchView.isIconified()) {
}
else{
}
}
});
但它很慢!
答案 0 :(得分:4)
解决方案有类似的问题(由提问者评论,我只是假定它可以得到更多的重点):
将android:showAsAction="always|collapseActionView"
添加到您的菜单项。
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
android:showAsAction="always|collapseActionView"
android:actionViewClass="android.widget.SearchView"
android:queryHint = "@string/search_hint"/>
答案 1 :(得分:0)
Toast.makeText(MainActivity.this, "onMenuItemActionExpand", 1).show();
建议您使用Toast.LENGTH_SHORT
或Toast.LENGTH_LONG
代替“1”。
示例:强>
Toast.makeText(MainActivity.this, "onMenuItemActionExpand", Toast.LENGTH_SHORT).show();