W edytorze tekstu, po wpisaniu klawisza "Enter", system tworzy w nim nową linię. Chciałbym skupić się na kolejnym edytorze tekstu, bez nowej linii. jak kodować? mój kod XML jest poniżejKeyCode_Enter to next edittext
<EditText
android:id="@+id/txtNPCode"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_alignLeft="@+id/lblNPCode"
android:layout_below="@+id/lblNPCode"
android:layout_centerHorizontal="true"/>
<EditText
android:id="@+id/txtCNPCode"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_alignLeft="@+id/lblCNPCode"
android:layout_below="@+id/lblCNPCode"
android:layout_centerHorizontal="true"/>
ja też caputer kodu klucza w setOnKeyListener
tCNPCode.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode == 66) {
Toast.makeText(S_PCode.this, "Enter Key", Toast.LENGTH_LONG).show();
//tNPCode.setFocusable(true);
}
return false;
}
});
Dziękuję. Używam requestFocus. Zadziałało. trzeba dodać return true ;? – soclose
Proponuję odfiltrować go również za pomocą ACTION_UP, ponieważ dwa razy użyjesz metody onKey i jeśli implementujesz setOnKeyListener do listy EditTexts wewnątrz ArrayList, ryzykujesz wykonanie dwóch kroków do przodu. if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_UP) –
jkanini
Nie użyłbym rzeczywistego int literału, ponieważ nie jest w ogóle czytelny. – styler1972