2

我在我的项目中使用了 EditText。在 EditText 中输入值后,我想单击一个按钮。如果我单击按钮 EditText 将失去它的焦点。

load.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
   description.setFocusable(false);
   }
}

如果我想更改该 EditText 的值意味着我能做什么,我做了以下操作,但它没有奏效,它无法获得焦点。

focus.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
   description.setFocusable(true);
   }
}

提出任何建议来实现这一目标......

4

4 回答 4

4

记得打电话setFocusableInTouchMode

focus.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        description.setFocusable(true);
        description.setFocusableInTouchMode(true);
        description.requestFocus(); 
    }
}
于 2013-02-03T07:11:15.703 回答
1

您将需要调用View.requestFocus()将焦点重新设置在 EditText 上:

focus.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
   description.setFocusable(true);
   description.requestFocus(); //<<< get Focus on EditText
   }
}
于 2013-02-03T06:46:06.837 回答
0
focus.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
   description.setFocusable(true);// or use description.setEnable(true);
   description.requestFocus(); //<<< get Focus on EditText
   }
}
于 2013-02-03T06:53:21.473 回答
0

尝试方法setEnabled(boolean b) 而不是 setFocusable(boolean b)

于 2014-05-21T20:17:37.727 回答