2012-03-09 47 views
4

我正在研究一個使用嵌入在ActionBar中的SearchView的應用程序。它可以在整個應用程序中完美工作,除了在一個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; 
+0

找到任何解決方案? – 2013-02-20 08:55:25

回答

0

我確定SearchView應該與標籤式活動一起使用,並會盡快讓您知道。同時你可以嘗試使用ViewPager,而不是使用帶有片段的標籤活動,或者作爲選項,ActionBar本身提供顯示標籤的功能。知道它是怎麼回事。