我已爲AlertDialog
進行了自定義佈局,其中有EditText
。如何訪問放置在爲AlertDialog製作的自定義佈局中的EditText?
點擊一個按鈕我想檢查這個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
請參閱編輯的問題...我正在點擊positivebutton之後進行檢查。如果edittext爲空,則顯示快餐欄,如果不是,則執行方法,但在任一情況下快餐欄都會顯示。 –