Как нажать кнопку в моей форме входа в мой проект Android Studio - PullRequest
0 голосов
/ 30 мая 2020

Я новичок в Android. Я много пытался найти эту ошибку, но не получил удовлетворительного ответа. В своей программе я создал страницу входа и регистрации и подключился к Firebase. Но поскольку я не могу нажать кнопку, я не могу зарегистрировать пользователя.

Когда я нажимаю кнопку, он ничего не делает. И даже я связал другую кнопку со страницей входа, которая тоже не работает.

 private EditText inputEmail, inputPassword;     
    private Button btnSignIn, btnSignUp;
    private ProgressBar progressBar;
    private FirebaseAuth auth;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_loginreg);
        auth = FirebaseAuth.getInstance();

        btnSignIn = (Button) findViewById(R.id.lo);//This is sign in button
        btnSignUp = (Button) findViewById(R.id.register_btn);//This is the sign up button
        inputEmail = (EditText) findViewById(R.id.email);
        inputPassword = (EditText) findViewById(R.id.password);
        progressBar = (ProgressBar) findViewById(R.id.progressbar);


        btnSignIn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });

        btnSignUp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                String email = inputEmail.getText().toString().trim();
                String password = inputPassword.getText().toString().trim();

                if (TextUtils.isEmpty(email)) {
                    Toast.makeText(getApplicationContext(), "Enter email address!", Toast.LENGTH_SHORT).show();
                    return;
                }

                if (TextUtils.isEmpty(password)) {
                    Toast.makeText(getApplicationContext(), "Enter password!", Toast.LENGTH_SHORT).show();
                    return;
                }

                if (password.length() < 6) {
                    Toast.makeText(getApplicationContext(), "Password too short, enter minimum 6 characters!", Toast.LENGTH_SHORT).show();
                    return;
                }

                progressBar.setVisibility(View.VISIBLE);
                //create user
                auth.createUserWithEmailAndPassword(email, password)
                        .addOnCompleteListener(loginreg.this, new OnCompleteListener<AuthResult>() {
                            @Override
                            public void onComplete(@NonNull Task<AuthResult> task) {
                                Toast.makeText(loginreg.this, "createUserWithEmail:onComplete:" + task.isSuccessful(), Toast.LENGTH_SHORT).show();
                                progressBar.setVisibility(View.GONE);
                                // If sign in fails, display a message to the user. If sign in succeeds
                                // the auth state listener will be notified and logic to handle the
                                // signed in user can be handled in the listener.
                                if (!task.isSuccessful()) {
                                    Toast.makeText(loginreg.this, "Authentication failed." + task.getException(),
                                            Toast.LENGTH_SHORT).show();
                                } else {
                                    startActivity(new Intent(loginreg.this, activity_second.class));
                                             finish()
                                }
                            }
                        });

            }
        });
    }

    @Override
    protected void onResume() {
        super.onResume();
        progressBar.setVisibility(View.GONE);
    }

Это мой XML код:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:background="@color/colorPrimary"
    tools:context=".loginreg">



    <EditText
        android:id="@+id/name"
        android:layout_width="357dp"
        android:layout_height="36dp"
        android:layout_above="@+id/password"
        android:layout_centerHorizontal="true"
        android:layout_marginStart="24dp"
        android:layout_marginEnd="24dp"
        android:layout_marginBottom="62dp"
        android:background="@drawable/usr"
        android:gravity="center_vertical"
        android:hint="Email"
        android:inputType="textEmailAddress"
        android:selectAllOnFocus="true"
        android:textAlignment="center"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:ignore="RtlCompat" />

    <EditText
        android:id="@+id/username"
        android:layout_width="357dp"
        android:layout_height="36dp"
        android:layout_above="@+id/password"
        android:layout_centerHorizontal="true"
        android:layout_marginStart="24dp"
        android:layout_marginEnd="24dp"
        android:layout_marginBottom="11dp"
        android:background="@drawable/usr"
        android:gravity="center_vertical"
        android:hint="Password"
        android:inputType="textEmailAddress"
        android:selectAllOnFocus="true"
        android:textAlignment="center"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:ignore="RtlCompat" />

    <EditText
        android:id="@+id/password"
        android:layout_width="357dp"
        android:layout_height="36dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginStart="24dp"
        android:layout_marginEnd="24dp"
        android:layout_marginBottom="256dp"
        android:background="@drawable/usr"
        android:gravity="center_vertical"
        android:hint="Conform Password"
        android:imeActionLabel="@string/action_sign_in_short"
        android:imeOptions="actionDone"
        android:inputType="textPassword"
        android:selectAllOnFocus="true"
        android:textAlignment="center"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/username"
        tools:ignore="RtlCompat" />


    <Button
        android:id="@+id/register_btn"
        android:layout_width="112dp"
        android:layout_height="63dp"
        android:layout_alignTop="@+id/name"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_gravity="start"
        android:layout_marginTop="236dp"
        android:layout_marginBottom="107dp"
        android:background="@drawable/round"
        android:enabled="false"
        android:text="Register"
        android:textAllCaps="false"
        android:textColor="@android:color/black"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/password"
        app:layout_constraintVertical_bias="0.2" />

    <Button
        android:id="@+id/lo"
        android:layout_width="363dp"
        android:layout_height="51dp"
        android:layout_alignTop="@+id/username"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_gravity="start"
        android:layout_marginTop="290dp"
        android:layout_marginBottom="14dp"
        android:background="@drawable/round"
        android:enabled="false"
        android:text="Login"
        android:textAllCaps="false"
        android:textColor="@android:color/black"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/password"
        app:layout_constraintVertical_bias="0.2" />

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="164dp"
        android:layout_height="476dp"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginStart="129dp"
        android:layout_marginLeft="129dp"
        android:layout_marginTop="-170dp"
        app:srcCompat="@drawable/film_1" />

    <ProgressBar
        android:id="@+id/progressbar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" />

    <TextView
        android:id="@+id/textView8"
        android:layout_width="162dp"
        android:layout_height="64dp"
        android:layout_above="@+id/name"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="171dp"
        android:layout_marginBottom="90dp"
        android:text="Register"
        android:textColor="@android:color/white"
        android:textSize="40dp" />
</RelativeLayout>

Ответы [ 2 ]

0 голосов
/ 30 мая 2020

Вы отключили кнопку, установив android:enabled="false" Удалите эту строку, чтобы включить ее.

0 голосов
/ 30 мая 2020

У вас отсутствует android:onClick="yourmethod" в теге xml file <Button>. А также установите для android:enabled="false" значение true или удалите его.

Обновление

В действии вы можете использовать onClick как:

btnSignUp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                yourMethod(v);
            }
});
...