2014-03-30 4 views
0

세 개의 탭이 있습니다. 두 번째 글에서 편집 텍스트를 클릭하면 키보드가 나타납니다. tab1 표시기를 클릭 할 때마다 키보드를 숨기고 싶습니다. 내 탭을 전환 할 때탭 전환시 키보드 숨기기

InputMethodManager imm = (InputMethodManager)getSystemService(
    Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0); 

어떻게 숨길 키보드를 강제 할 수

이미 키보드를 숨길 방법을 발굴?

+0

전화 :

tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() { @Override public void onTabChanged(String tabId) { InputMethodManager imm = (InputMethodManager) getSystemService( Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0); } }); 

당신은

어쨌든 예를 탭을 생성하는 액션 바을 사용할 수 있습니다 이 코드가 탭을 바꿀 때? –

+0

@ MarcoAcierno 어떻게해야합니까? – solalito

+0

ActionBar 탭을 올바르게 사용 했습니까? –

답변

1

TabHostOnTabChangeListenersetOnTabChangedListener을 설정하고 TabHost.OnTabChangeListener 내부에 코드 블록을 추가하십시오. 이 같은

뭔가 :

ActionBar actionBar = getActionBar(); 
actionBar.addTab(actionBar.newTab().setText("Your Tab").setTabListener(new ActionBar.TabListener() 
{ 
    @Override 
    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) 
    { 
     InputMethodManager imm = (InputMethodManager)getSystemService(
       Context.INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0); 
    } 

    @Override 
    public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) 
    { 

    } 

    @Override 
    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) 
    { 

    } 
})); 

.addTab() .newTab() .setTabListener()

+0

TabHost에 대한 참조와 함께'tabHost'를 변경해야합니다 –

+0

deprecated가 무엇을 의미합니까? TabHost와 ActionBar간에 차이가 있습니까? – solalito

+0

Android 3.0부터 ActionBar를 사용하면 더 나은 기능을 제공 할 수 있으며 Android 3.0 버전에서 사용해야하는 경우 지원 라이브러리를 사용할 수 있습니다. 내가 찾은이, http://stackoverflow.com/questions/14272125/android-tabhost-deprecated –