我搜索了一個解決方案,並嘗試了其他問題的許多解決方案,但我沒有找到任何工作。 我想讓我的SearchView顯示在我的ActionBar中。但它只在溢出菜單(三個點)中顯示。有人可能會告訴我我的錯誤/解決方案。安卓搜索在ActionBar
我menu_searchview.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_search"
android:icon="@drawable/ic_magnify_white_24dp"
android:title="Search"
app:showAsAction="always"
android:actionViewClass="android.widget.SearchView"/>
</menu>
我的活動:
import android.app.Activity;
import android.support.v4.view.MenuItemCompat;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.SearchView;
import de.trainer.R;
public class SearchCategoryActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search_category);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_searchview, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
謝謝你的答案,但它仍保持顯示溢出菜單:( –