我正在开发一个从 API 级别 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;
}
});
}
}
为什么我没有得到 Toasts?
我也尝试了代码表单处理可折叠动作视图,它也不起作用!为什么这些东西不起作用?
编辑
我可以使用它来工作
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{
}
}
});
但它非常慢!