2017-01-26 13 views
0

外部キーボードを搭載したアンドロイドタブに取り組んでいます。だから私はアンドロイドソフトキーボードポップを私のアプリケーションで削除する必要があります。私はそれを行うには非常に多くの方法を試みた、私のデバイスはApi-16であるため、それのどれも私のために動作しません。 Android hide keyboard

EditText edtView=(EditText)findViewById(R.id.editTextConvertValue); 
edtView.setInputType(0); 

このコード

は仕事だったが、それは私の作品は何も、カーソル.Iはこれらを試してみました

getWindow().setSoftInputMode(
    WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN 
); 

<activity 
    android:name=".MyActivity" 
    android:windowSoftInputMode="stateAlwaysHidden"/> 

を示しませんでした。

他の方法はありますか?

Hide softKeyboard Api 16デバイスのポップ

ありがとうございます!

+0

を非表示にしたいときは、これが行われている?してみてくださいhttp://android.stackexchange.com/a/80999/57580 –

+0

キーボードの表示/非表示を切り替えるViewUtil.javaクラスを作成します。あなたは、次のを見てみることができますhttps://gist.github.com/kristopherjohnson/6023531 –

答えて

1

機能以下この

edtView.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
    @Override 
    public void onFocusChange(View v, boolean hasFocus) { 
     if(hasFocus){ 
      edtView.postDelayed(new Runnable() { 
       @Override 
       public void run() { 
        InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
        imm.hideSoftInputFromWindow(edtView.getWindowToken(), 0); 
       } 
      },1); 

     } 
    } 
}); 
+0

私はそれを試して、動作しません –

+0

ok。だから私はコードを変更しました。試してみてください。 –

+0

etId(R.id.auth_code) 'etId'とは何ですか?それはview.getId –

0

コールあなたがキーボード

public static void hideKeyboard(Context context, View mView) { 
    InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); 
    imm.hideSoftInputFromWindow(mView.getWindowToken(), 0); 
}