我在项目中使用了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);
}
}
提出任何建议来实现这一目标......
答案 0 :(得分:4)
请记得致电setFocusableInTouchMode
:
focus.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
description.setFocusable(true);
description.setFocusableInTouchMode(true);
description.requestFocus();
}
}
答案 1 :(得分: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
}
}
答案 2 :(得分: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
}
}
答案 3 :(得分:0)
尝试方法 setEnabled(boolean b)而不是 setFocusable(boolean b)