我希望:当点击不可编辑(获取焦点)的EnitText时,EditText可编辑,直接获取焦点,弹出软键盘;或者当EditText不可编辑(获取焦点)时,点击button将其变为可编辑(改变样式),之后点击EditText弹出软键盘。我在布局文件中给那个EditText设置了android:focusable="false"之后现在点击EnitText之后可以看到有光标在最前面闪烁,但是仍然不可编辑。
点击按钮干脆什么都没有。

解决方案 »

  1.   

    用setFocusable(false)不成,要用requestFocus();
    要请求焦点,而不是设置焦点
      

  2.   

    ip.setFocusable(false);
    无法获取焦点,如何能出发按钮单击事件
    点击按钮应该执行
     ip.setFocusable(true);
                    ip.setTextColor(getResources().getColor(R.color.black));
                    editIp.setText("保存");
      

  3.   


    唉,唉……就算设置setFocusable(true);也不管用!不过还是谢谢你了。
      

  4.   

    加上setFocusableInTouchMode(true); 就可以了。我这个需求后来自己发现不太对,我改得更方便了。不过这个技术问题还是没有解决。
    我后来把需求变了下,功能是实现了,但是这个技术问题还没解决。
      

  5.   

    edit_sbumit.setOnClickListener(new OnClickListener() { @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    edit_sbumit.setFocusable(true);
    edit_sbumit.setFocusableInTouchMode(true);
    edit_sbumit.requestFocus();
    edit_sbumit.requestFocusFromTouch();

    }
    });
    给那个edit设置一个点击事件 然后按照步骤去申请焦点,一定要按照我那个代码的步骤