Android imeOptions 和自动按下登录按钮

kat*_*tit 5 android

我有典型的登录屏幕。我能够使用 imeOptions 允许用户“tab”从一个字段到另一个字段,并且在最后一个字段(密码)上我有 actionDone - 它只是关闭软键盘。理想情况下,我喜欢自动单击“登录”。有什么内置的吗?

Pro*_*uce 0

public class Main extends Activity
{
  private final static String USERNAME = "user1";
  private final static String PASSWORD = "12345678";

  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.page1);

    final EditText usernameInput = (EditText) findViewById(R.id.username);
    EditText passwordInput = (EditText) findViewById(R.id.password);
    passwordInput.addTextChangedListener(new TextWatcher()
    {
      @Override
      public void afterTextChanged(Editable input)
      {
        if (USERNAME.equals(usernameInput.getText().toString()) && PASSWORD.equals(input.toString()))
        {
          setContentView(R.layout.page2);
        }
      }

      @Override
      public void beforeTextChanged(CharSequence s, int start, int count, int after)
      {

      }

      @Override
      public void onTextChanged(CharSequence s, int start, int before, int count)
      {

      }
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

页1.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center">
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="username:" />
    <EditText
        android:id="@+id/username"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="password:" />
    <EditText
        android:id="@+id/password"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

页面2.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Login successful." />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)