我有4个EditText
现在我想将文字放在焦点上,之后我想转到下一个EditText
任何人都知道如何做到这一点?
我想要的是什么:
focussedEditText.setText("hi");
focusOnNextEditText;
答案 0 :(得分:0)
这可能会有所帮助
android.view.View.OnFocusChangeListener;
edittext.setOnFocusChangeListener(myEditTextFocus);
和requestFocus()
。
答案 1 :(得分:0)
edit_Text.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus)
{
edit_Text.setText("Your text");
Second_edit_text.requestFocus();
}else {
}});
答案 2 :(得分:0)
我认为这就是你想要的......
EditText e1,e2;
Button b1,b2;
String evalue;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
e1=(EditText)findViewById(R.id.editText1);
e2=(EditText)findViewById(R.id.editText2);
b1=(Button)findViewById(R.id.button1);
b2=(Button)findViewById(R.id.button2);
e1.setOnTouchListener(new View.OnTouchListener()
{
public boolean onTouch(View arg0, MotionEvent arg1)
{
evalue="1";
return false;
}
});
e2.setOnTouchListener(new View.OnTouchListener()
{
public boolean onTouch(View arg0, MotionEvent arg1)
{
evalue="2";
return false;
}
});
b1.setOnClickListener(new View.OnClickListener()
{
public void onClick(View arg0) {
if(evalue=="1")
{
e1.setText("yes");
}
if(evalue=="2")
{
e2.setText("yes");
}
}
});
b2.setOnClickListener(new View.OnClickListener()
{
public void onClick(View arg0) {
if(evalue=="1")
{
e1.setText("No");
}
if(evalue=="2")
{
e2.setText("No");
}
}
});
}
我是否正确...如果是,请参阅this答案以获取更多详细信息..
答案 3 :(得分:0)
你有4个edittext ..这意味着它们是视图组中的视图(Viewgroup是父视图 - 或者是一个有子视图的视图 - 可以是线性的还是realative或框架甚至viewflipper布局)?所以对此
Viewgroup.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
// TODO Auto-generated method stub
Viewgroup.getFocusedChild().setText("Ellt's solution works");
return false;
}
});
纠正愚蠢的错误
编辑1:你所要做的就是覆盖它 - (但这只会被一个视图组调用一次),当它获得焦点时......但是之后它不会松开它..
你总是可以按照自己的方式实现它,我真的不知道你的代码是如何构建的,但是你总是可以通过Viewgroup.getFocusedChild()
获得专注的孩子,你也可以这样做
private void customfocuses(View v){ // the view here can be replaced with EditText directly- but for wider range i used View
v.setText("Ellt's solution works");
Viewgroup.focusSearch(v,View.FOCUS_DOWN);
v.clearFocus(); // remove if you want..just wanted to follow code structure..
customfocuses(Viewgroup.getFocusedChild());
}
所有这一切都是将文本设置为视图,并告诉视图组查找下一个文本
想要专注并将其赋予它的视图,整个场景再次开始
customfocuses(Viewgroup.getFocusedChild());
View.FOCUS_DOWN
也指定了customfocuses(Viewgroup.getFocusedChild());
搜索焦点视图的方向..
所以,那么你第一次需要它时就会调用它。clearFocus()
{{1}}所做的是从视图中移除焦点......就此而言
注意:ma代码中的Viewgroup将替换为实际的viewgroup而不是类 我做了..
让我知道我是不是很好......周一,先生?洛尔..