2011-12-22 15 views
0

このコードは、ボタンクリックでAndroidキーボードを表示したり隠したりするためのコードです。Android:キーボードがエミュレータのコードを使用して表示されない

public void keyClickHandler(View v) { 
    EditText editText = (EditText) findViewById(R.id.KeyBoard); 
    InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 

    if (keyboard) { 
     mgr.hideSoftInputFromWindow(editText.getWindowToken(), 0); 
     keyboard = false; 
    } else { 
     mgr.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT); 
     keyboard = true; 
    } 

    Log.d("SET", "Focus"); 
} 

しかし、それは私が、私はあなたのコードの残りの部分があるのか​​分からない、それは電話で働いていることがわかったが、エミュレータでnot

+0

このコードが 'Activity'または' Dialog'ベースのクラスに存在するかどうか教えてください。私は個人的に 'AlertDialog'ベースのクラスにIMEを表示することに問題がありました。 –

+0

アクティビティベースのクラス.. –

答えて

1

しまっエミュレータ

で働いnotありますあなたはonClickListenerとしてのonCreate SEで自分のクラスを実装する必要があり、これが機能するために

public void onClick(View v) 
{ 
    EditText editText = (EditText) findViewById(R.id.KeyBoard); 
    InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 

    switch(v.getId()) 
    { 
     case R.id.yourButtonId: 
      if(keyboard) 
      { 
       mgr.hideSoftInputFromWindow(editText.getWindowToken(), 0); 
       keyboard = false; 
      } 
      else 
      { 
       mgr.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); 
       keyboard = true; 
      } 

      Log.d("SET", "Focus"); 
      break; 
    } 
} 

:が、あなたはこのような何かを試すことができますあなたのボタンを次のようにしてください:

Button yourButton = (Button) findViewById(R.id.yourButtonId); 
yourButton.setOnClickListener(this); 
+0

私のコードは電話機で正常に動作していますが、エミュレータでは動作しません –

+0

何が問題なのですか?エミュレータで動作しないのは単なるボタンですか? – user990230

+0

そのボタンを押すと、実際の電話機にキーボードが表示されますが、エミュレータで作業中はキーボードは表示されません –

関連する問題