に埋め込まれたSearchView
を使用するアプリケーションで作業しています。それは1つのActivity
を除いて、アプリ全体で完全に動作します。このActivity
では、検索アイコンをクリックしてアクションバー全体に検索ビューを表示することができますが、検索ビューに何かを入力すると、テキスト入力は無視され(テキストは表示されません)、フォーカスは検索ボックス。Android SearchViewで入力できない(TabActivityと競合する)
このアクティビティと私のアプリケーションの主な違いは、このアクティビティにTabActivity
を使用して実装されたタブがあることです。私はそれが原因であるかどうか、誰かが潜在的な解決策を持っているのだろうかと思います。
これはSearchView
のコードです:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
searchView.setSubmitButtonEnabled(true);
searchView.setOnQueryTextListener(queryTextListener);
searchView.setQueryHint("product search");
return true;
}
final SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextChange(String newText) {
return true;
}
@Override
public boolean onQueryTextSubmit(String query) {
_listControl = new ListControl(_thisProduct,query);
_listControl.startGetData();
return true;
}
};
これは私のタブ付きアクティビティのセットアップです。タブは異なるビュー間を切り替えます。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.product);
//set up tabs
mTabHost = getTabHost();
mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("Info").setContent(R.id.productLayout));
mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("Specs").setContent(R.id.specLayout));
mTabHost.addTab(mTabHost.newTabSpec("tab_test3").setIndicator("Reviews").setContent(R.id.reviewLayout));
mTabHost.addTab(mTabHost.newTabSpec("tab_test4").setIndicator("Buy").setContent(R.id.textView4));//
mTabHost.setCurrentTab(0);
mTabHost.getTabWidget().getChildAt(0).getLayoutParams().height = 40;
mTabHost.getTabWidget().getChildAt(1).getLayoutParams().height = 40;
mTabHost.getTabWidget().getChildAt(2).getLayoutParams().height = 40;
mTabHost.getTabWidget().getChildAt(3).getLayoutParams().height = 40;
解決策を見つけましたか? –