Inviare un form da EditText in Android
In pratica quando siamo sull'ultima EditText del nostro "form", vogliamo eseguire la stessa operazione che fa il button.
In Android è possibile farlo usando l'attributo imeOptions.
Quindi, partendo dal layout:
<EditText
android:id="@+id/editTextRfid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:backgroundTint="#ffffff"
android:ems="10"
android:imeOptions="actionDone"
android:singleLine="true"
android:text="000000099"
android:textColorLink="#14477C" />
<Button
android:id="@+id/buttonVerifica"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:background="@drawable/button_radious_orange"
android:onClick="doLogin"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:text="Verifica"
android:textColor="#FFFFFF"
android:textStyle="bold" />
Abbiamo un Button su richiama un metodo nell'onClick.
Poi nell'Activity:
private EditText rfid;
private Button btnLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
rfid = findViewById(R.id.editTextRfid);
btnLogin = findViewById(R.id.buttonVerifica);
rfid.setOnEditorActionListener(new EditText.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
btnLogin.performClick();
return true;
}
return false;
}
});
}
public void doLogin(View view) {
// DO STUFF
}
In pratica gli abbiamo detto che l'azione che deve essere eseguita quando si fa invio è la stessa del bottone.
Enjoy!
java android edittext imeoptions
Commentami!