2010-08-15 63 views
1

我想显示软键盘,但它不起作用。 这里是我的代码:Android:在自定义edittext中触发softkeaboard

public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

     myTextView myTextView = new myTextView(this); 

     setContentView(myTextView); 
    } 

public class myTextView extends EditText{ 

public boolean onTouchEvent(){ 

if(action == ACTION_DOWN){ 

super.onTouchEvent(event); 

} } 

当我触摸屏幕时,softkeyboard没有出现,但出现alertDialog“编辑文本”,这对正常edittexts出现,当你长时间触摸它们。 在OnCreate这种额外的代码有没有感情:

InputMethodManager input = (InputMethodManager) 
getSystemService(Context.INPUT_METHOD_SERVICE); 
input.showSoftInput(myTextView, 0); 

感谢您的帮助, Fr4gg0r

回答

0

试试这个 -

myTextView.setOnFocusChangeListener(
      new View.OnFocusChangeListener() { 
       @Override 
       public void onFocusChange(View v, boolean hasFocus) { 
        if (hasFocus) 
           getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); 
       } 
      }); 
0

我很抱歉这很迟答案.. 所以我用以下命令尝试了你的代码: myTextView.requestFocus(); 但键盘不显示。

我必须改正我的文本: 在模拟器上,键盘不显示,但在我的三星Galaxy S上,它确实! :o