Android:在自定义edittext中触发softkeaboard

时间:2010-08-15 13:45:09

标签: android triggers android-softkeyboard

我想显示软键盘,但它不起作用。 这是我的代码:

 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);

} }

当我触摸屏幕时,软键盘不会出现,但会出现alertDialog“编辑文本”,当您长时间触摸它们时会出现在正常的编辑文本中。 onCreate中的这个附加代码没有感情:

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

感谢您的帮助, Fr4gg0r

2 个答案:

答案 0 :(得分: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);
                }
            });

答案 1 :(得分:0)

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

我必须更正我的文字: 在模拟器上,键盘没有显示,但在我的三星Galaxy S上,确实如此! :○