Java 聚焦的edittext上的setText()
我有4个Java 聚焦的edittext上的setText(),java,android,android-edittext,focus,settext,Java,Android,Android Edittext,Focus,Settext,我有4个EditText,现在我想把文本放在聚焦的文本上,然后我想转到下一个EditText 有人知道我该怎么做吗 我想要的是: focussedEditText.setText("hi"); focusOnNextEditText; 这可能会有帮助 android.view.View.OnFocusChangeListener; edittext.setOnFocusChangeListener(myEditTextFocus); 还有requestFocus()。我想这就是你想要的 ed
EditText
,现在我想把文本放在聚焦的文本上,然后我想转到下一个EditText
有人知道我该怎么做吗
我想要的是:
focussedEditText.setText("hi");
focusOnNextEditText;
这可能会有帮助
android.view.View.OnFocusChangeListener;
edittext.setOnFocusChangeListener(myEditTextFocus);
还有
requestFocus()
。我想这就是你想要的
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 {
}});
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");
}
}
});
}
我说的对吗。。。如果是,请参考答案了解更多详情。您有4个编辑文本。。这意味着它们是视图组中的视图(视图组是父视图-或具有子视图的视图-可以是线性的、现实的或甚至是框架的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());
}
它所做的只是将文本设置为视图,并告诉视图组查找下一个文本
视图需要焦点并将其交给它,整个场景将以
CustomFocuss(Viewgroup.getFocusedChild())代码>视图。焦点向下
指定
搜索焦点视图的方向
所以,当你第一次需要它的时候,就给它打电话<代码>自定义焦点(Viewgroup.getFocusedChild())代码>
clearFocus()
的作用是从视图中移除焦点。。就这样
注意:ma代码中的Viewgroup将替换为实际Viewgroup,而不是类as
是的
如果我觉得好就告诉我好吗,先生?哈哈…一篇编辑文本在被调情时有焦点(我知道你已经知道了)。。但我认为你有4个edittext文本,其中任何一个都可以获得焦点。对吗?是的,这是我想要的,但是有一个OnFocusChangeListener,因为你从来没有接触过edittext:如果你解释一下你在这里做了什么,pIt会很有帮助。