EditText焦点方法在android中没有按预期工作

时间:2016-05-24 11:13:40

标签: android button android-edittext focusable

我有一个按钮" show"当单击按钮时,编辑文本框不能编辑,当我单击下一步时,我必须将焦点返回到编辑文本框。我尝试了下面的代码

  showans.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
               editText.setFocusable(false);
     }
  next.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            editText.setFocusable(true);
            editText.setClickable(true);
      }
 }

我尝试在setFocusable和setClickable之间更改值,但没有任何帮助。当我第一次点击showans按钮时,编辑框会失去焦点,但是当我点击" next"时,我将值设置为true。按钮和所有这些按钮。所有这些文本框和按钮都是动态生成的。任何帮助都会很棒!!谢谢

4 个答案:

答案 0 :(得分:1)

您可以使用

editText.setInputType(InputType.TYPE_NULL); for uneditable EditText 

editText.setInputType(InputType.TYPE_CLASS_TEXT) 

to make it editable

答案 1 :(得分:0)

请更改为editText.requestFocus();

您可以使用editText.clearFocus();

答案 2 :(得分:0)

您可以使用setEnabled()方法禁用或启用editText

//to disable
editText.setEnabled(false);
//to re enable
editText.setEnabled(true);

答案 3 :(得分:0)

您可以尝试使用setFocusableInTouchMode - 因此您的代码将更改为以下内容:

showans.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
               editText.setFocusable(false);
               editText.setFocusableInTouchMode(false);
     }
  next.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            editText.setFocusable(true);
            editText.setClickable(true);
            editText.setFocusableInTouchMode(true);
      }
 }

尝试一下,让我知道它是否有帮助。