EditText
があるAlertDialog
のカスタムレイアウトを作成しました。AlertDialog用に作成されたカスタムレイアウトに配置されたEditTextにアクセスする方法は?
ボタンをクリックすると、この編集テキストが空であるかどうかをチェックして、それ以上の操作を実行できるようにしたいと思います。ここで
はAlertDialogのためのカスタムレイアウト用XMLコードである:ここで
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp">
<EditText
android:id="@+id/id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="type here"/>
</android.support.design.widget.TextInputLayout>
</LinearLayout>
は、私はJavaのコードでやっているものです:
final AlertDialog.Builder builder = new AlertDialog.Builder(SignUpActivity.this);
builder.setTitle("Choose a unique username");
builder.setView(R.layout.choose_unique_name_dialog);
builder.setPositiveButton("Continue", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
if (uniqueUserName.getText().toString().isEmpty()) {
Snackbar snackbar = Snackbar
.make(coordinatorLayout, "Please choose a unique username", Snackbar.LENGTH_SHORT);
snackbar.show();
} else {
signingUpMethod();
}
}
});
AlertDialog dialog = builder.create();
dialog.show();
だから、私はこのEditText
にアクセスする方法をを知りたいです私のMainActivity
から?
お知らせください。
これは私にとってはうまくいったのですが、問題は、edittextが空のときだけ表示されるべき動作が、テキストがあるときにも表示されることです。なぜそうなのか? –
あなたはこのalertDialogを何らかの状態でのみ表示したいと言っていますか? – SripadRaj
編集した質問をご覧ください...私は、陽性ボタンをクリックした後にチェックをしています。 edittextが空であればsnackbarが表示され、そうでなければメソッドが実行されますが、どちらの条件でもsnackbarが表示されます。 –