Я пытался вернуть его в макете диалога, но отладка выдает мне ноль переменной, которую я пытаюсь проверить, является ли пароль правильным или нет, но он дал мне ошибку нулевого объекта
Вот функция, в которой я возвращаю пароль из базы данных, чтобы знать, что эта функция находится в основном действии, и подтверждение пароля не является контекстом этого действия
public void showDialog(final Intent i){
LayoutInflater factory = LayoutInflater.from(this);
final View deleteDialogView = factory.inflate(R.layout.password_confirm, null);
final AlertDialog deleteDialog = new AlertDialog.Builder(this).create();
deleteDialog.setView(deleteDialogView);
deleteDialogView.findViewById(R.id.confirmPasswordCheck).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
db.collection("Departments").document(DeparmentName).get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
TextInputLayout textInputLayout = findViewById(R.id.text_input_password_confirm);
EditText editText = findViewById(R.id.edit_password_check);
passwordReturn = task.getResult().getString("Password");
if(editText.getText().equals(passwordReturn)){
startActivity(i);
}else{
textInputLayout.setError("Password is wrong");
}
}
});
}
});
deleteDialogView.findViewById(R.id.cancelPasswordCheck).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
deleteDialog.dismiss();
}
});
deleteDialog.show();
}
Здесь я вызываю функцию ичто я посылаю ему
Intent i = new Intent(MainActivity.this, AddPatientActivity.class);
i.putExtra("SuperSession", SuperKey);
i.putExtra("DepartmentName", DeparmentName);
showDialog(i);
и это макет
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:gravity="center"
android:layout_gravity="center"
tools:context=".MainActivity"
android:background="@color/blueState">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/txt_password_confirm"
android:textAlignment="center"
android:textColor="@color/white"
android:textSize="24sp" />
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_password_confirm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:theme="@style/MyEditText"
app:errorEnabled="true"
app:errorTextAppearance="@style/MyErrorText"
app:passwordToggleEnabled="true">
<EditText
android:id="@+id/edit_password_check"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/century_gothic"
android:hint="@string/password"
android:imeOptions="flagNoExtractUi"
android:inputType="textPassword"
android:theme="@style/MyEditText" />
</android.support.design.widget.TextInputLayout>
<Button
android:id="@+id/confirmPasswordCheck"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/rounded_green_btn"
android:text="Confirm"/>
<Button
android:id="@+id/cancelPasswordCheck"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/rounded_red_btn"
android:text="@string/cancelBtn"/>
</LinearLayout>