我想要实现的是用户搜索应用程序的能力。我想在Youtube应用程序中执行类似于下面的屏幕截图中的内容
问题是我不知道如何在我的应用程序中实现它。
我已经开始使用选项菜单,但由于某种原因,图标不会显示在工具栏
中我的代码:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:activity=".ProductsNewOrder">
<item android:id="@+id/search"
android:title="@string/search"
android:visible="true"
android:icon="@android:drawable/ic_menu_search"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always" />
<item android:id="@+id/cart"
android:title="Cart"
android:visible="true"
android:icon="@drawable/abc_ic_menu_share_mtrl_alpha"
app:showAsAction="always" />
</menu>
searchable.xml
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/search"
android:hint="@string/search" >
</searchable>
的Manifest.xml
我在哪里创建选项菜单:
public class ProductsViewOrder extends FragmentActivity {
private ViewPager viewPager;
private ProductsTabPagerAdapter mAdapter;
private PagerSlidingTabStrip tabs;
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.new_order);
getActionBar().setElevation(0);
viewPager = (ViewPager) findViewById(R.id.pager);
Intent intent = getIntent();
String title = intent.getStringExtra("tableID");
getActionBar().setTitle(getString(R.string.table_id) + title);
mAdapter = new ProductsTabPagerAdapter(getSupportFragmentManager(), ProductsViewOrder.this, ProductsViewOrder.this);
viewPager.setAdapter(mAdapter);
tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
tabs.setViewPager(viewPager);
tabs.setDividerColor(Color.TRANSPARENT);
tabs.setIndicatorColor(Color.WHITE);
tabs.setIndicatorHeight(6);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_new_order, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.search:{
return true;
}
case R.id.cart:{
return true;
}
default:{
return super.onOptionsItemSelected(item);
}
}
}
private void showSearchResults() {
}
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(R.anim.slide_out_left, R.anim.slide_in_left);
}
}
当我点按搜索图标时,没有任何反应。
任何人都可以帮助我吗?