80,490
社区成员
发帖
与我相关
我的任务
分享
public class MainActivity extends AppCompatActivity {
private EditText e1,e2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
e1 = (EditText) findViewById(R.id.editText);
e2 = (EditText) findViewById(R.id.editText2);
e2.setOnEditorActionListener(new TextView.OnEditorActionListener(){
@Override
public boolean onEditorAction(TextView v, int actionId,KeyEvent event) {
if (actionId== EditorInfo.IME_ACTION_SEND ||(event!=null&&event.getKeyCode()== android.view.KeyEvent.KEYCODE_ENTER)) {
e1.requestFocus();
return true;
}
return false;
}
});
}
}
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText1"
android:singleLine="true"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:nextFocusDown="@+id/editText1"
android:id="@+id/editText2"
android:singleLine="true" />
就是试过了的说...
焦点还是瞬间跳回editText2
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
e1 = (EditText) findViewById(R.id.editText);
e2 = (EditText) findViewById(R.id.editText2);
e2 .setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (KeyEvent.KEYCODE_ENTER == keyCode && event.getAction() == KeyEvent.ACTION_DOWN) {
e2.setNextFocusDownId(e1.getId());
e1.requestFocus();
e1.requestFocusFromTouch();
return true;
}
return false;
}
});
}
我这样写没写错吧?[/quote]
不要设置e2 .setOnKeyListener(),直接e2.setNextFocusDownId(e1.getId());
就是试过了的说...
焦点还是瞬间跳回editText2
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
e1 = (EditText) findViewById(R.id.editText);
e2 = (EditText) findViewById(R.id.editText2);
e2 .setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (KeyEvent.KEYCODE_ENTER == keyCode && event.getAction() == KeyEvent.ACTION_DOWN) {
e2.setNextFocusDownId(e1.getId());
e1.requestFocus();
e1.requestFocusFromTouch();
return true;
}
return false;
}
});
}
我这样写没写错吧?