2012-03-09 3 views
4

에 삽입 된 SearchView을 사용하는 응용 프로그램에서 작업하고 있습니다. 그것은 Activity을 제외하고는 앱에서 완벽하게 작동합니다. 이 Activity에서 검색 아이콘을 클릭하여 작업 표시 줄에 검색보기를 표시 할 수 있지만 검색보기에 아무 것도 입력하면 텍스트 입력이 무시되고 텍스트가 표시되지 않고 포커스가 검색 창.Android SearchView에서 타이핑이 허용되지 않습니다 (TabActivity와 충돌이 있습니까?)

이 활동과 내 응용 프로그램의 주요 차이점은이 활동에 TabActivity을 사용하여 구현 된 탭이 있다는 점입니다. 그게 원인인지 궁금해지며, 누군가가 잠재적 인 해결책을 가지고 있는지 궁금합니다.

@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; 
    } 
}; 

이 내 탭 활동의 설정은 다음과 같습니다

SearchView 코드입니다. 탭은 서로 다른보기를 전환합니다.

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

발견 된 솔루션? –

답변

0

SearchView는 탭 작업과 함께 작동해야하며 곧 알려 드릴 것입니다. 그 동안 파편이나 옵션으로 작동하는 탭이있는 활동 대신 ViewPager를 사용해 보시고 ActionBar 자체에서 탭을 표시하는 기능을 제공 해줄 수 있습니까? 그것을 이해하는 방법을 알고 있습니다.