Почему не работает кнопка Button в android studio?
Такая возникла проблема, что при написании кода, сам код, каким-то образом, не видит имя заданное в onClick
, тем самым и переход между кнопкой осуществляться не может.
Ошибок именно в написании имени быть не может, так как. пользуюсь ctr + c -> ctr + v
. Сам код предоставлю внизу. В чем может быть проблема?
Это код для интерфейса:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ggg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/fff">
<TextView
android:id="@+id/text_bottom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="28dp"
android:text="Авторизуйтесь в приложении"
android:textSize="15sp"
android:visibility="visible" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/text_bottom"
android:layout_marginStart="15dp"
android:layout_marginTop="15dp"
android:layout_marginEnd="15dp"
android:layout_marginBottom="15dp"
android:orientation="vertical"
android:visibility="visible"
android:weightSum="2">
<EditText
android:id="@+id/logField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Введите логин"
android:inputType="textEmailAddress"
android:text=""
android:textColor="@color/black"
android:textColorHint="@color/purple_500"
android:textSize="20sp"
android:visibility="visible" />
<EditText
android:id="@+id/pass"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Введите пароль"
android:inputType="textPassword"
android:text=""
android:textColor="@color/black"
android:textColorHint="@color/purple_500"
android:textSize="20sp"
android:visibility="visible" />
<Button
android:id="@+id/buttonSignIn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="OnClickvoity"
android:text="Войти"
android:visibility="visible" />
<Button
android:id="@+id/buttonReg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="OnClickRegistra"
android:text="Регистрация"
android:visibility="visible" />
</LinearLayout>
<TextView
android:id="@+id/wwwtext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="360dp"
android:text="Спасибо, что выбрали наше приложение!"
android:visibility="visible"/>
<TextView
android:id="@+id/tvUserEmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="340dp"
android:text="TextView"
android:visibility="visible"/>
<Button
android:id="@+id/btstart"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="290dp"
android:onClick="OnClickStart"
android:text="Начать"
android:visibility="visible"/>
<Button
android:id="@+id/onClickSignOut"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="250dp"
android:onClick="onClickSignOut"
android:text="Выйти"
android:visibility="visible"/>
</RelativeLayout>
Это код уже в классе, для реализации работы:
private EditText logField, pass;
private FirebaseAuth mAuth;
private Button btstart, buttonSignIn, buttonReg, btSignOut;
private TextView tvUserEmail, text_bottom, wwwtext;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.autoriz);
init();
}
@Override
protected void onStart() {
super.onStart();
FirebaseUser cUser = mAuth.getCurrentUser();
if(cUser != null)
{
String UserName = "Вы вошли как: " + cUser.getEmail();
tvUserEmail.setText(UserName);
showSignet();
Toast.makeText(this, "Пользователь не зарегистрирован в приложении." + cUser.getEmail(), Toast.LENGTH_SHORT).show();
}
else {
notSignet();
Toast.makeText(this, "Пользователь зарегистрирован", Toast.LENGTH_SHORT).show();
}
}
private void init()
{
logField = findViewById(R.id.logField);
pass = findViewById(R.id.pass);
mAuth = FirebaseAuth.getInstance();
btstart = findViewById(R.id.btstart);
tvUserEmail = findViewById(R.id.tvUserEmail);
buttonSignIn = findViewById(R.id.buttonSignIn);
buttonReg = findViewById(R.id.buttonReg);
text_bottom = findViewById(R.id.text_bottom);
btSignOut = findViewById(R.id.onClickSignOut);
wwwtext = findViewById(R.id.wwwtext);
}
public void OnClickvoity(View view)
{
if (!TextUtils.isEmpty(logField.getText().toString()) && !TextUtils.isEmpty(pass.getText().toString())) {
mAuth.signInWithEmailAndPassword(logField.getText().toString(), pass.getText().toString()).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
showSignet();
Toast.makeText(getApplicationContext(), "Пользователь успешно вошел!", Toast.LENGTH_SHORT).show();
}
else
{
notSignet();
Toast.makeText(getApplicationContext(), "Произошла ошибка при входе в учетную запись", Toast.LENGTH_SHORT).show();
}
}
});
}
}
public void OnClickRegistra(View view)
{
if (!TextUtils.isEmpty(logField.getText().toString()) && !TextUtils.isEmpty(pass.getText().toString())) {
mAuth.createUserWithEmailAndPassword(logField.getText().toString(), pass.getText().toString()).addOnCompleteListener( this , new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
showSignet();
Toast.makeText(getApplicationContext(), "Пользователь успешно зарегистрирован!", Toast.LENGTH_SHORT).show();
}
else
{
notSignet();
Toast.makeText(getApplicationContext(), "Произошла ошибка при регистрации", Toast.LENGTH_SHORT).show();
}
}
});
}
else {
notSignet();
Toast.makeText(getApplicationContext(), "Пожалуйста, введите пароль или электронную почту.", Toast.LENGTH_SHORT).show();
}
}
public void onClickSignOut (View view)
{
FirebaseAuth.getInstance().signOut();
notSignet();
}
private void showSignet()
{
btstart.setVisibility(View.VISIBLE);
tvUserEmail.setVisibility(View.VISIBLE);
btSignOut.setVisibility(View.VISIBLE);
logField.setVisibility(View.GONE);
wwwtext.setVisibility(View.VISIBLE);
pass.setVisibility(View.GONE);
text_bottom.setVisibility(View.GONE);
buttonSignIn.setVisibility(View.GONE);
buttonReg.setVisibility(View.GONE);
}
private void notSignet()
{
btstart.setVisibility(View.GONE);
tvUserEmail.setVisibility(View.GONE);
btSignOut.setVisibility(View.GONE);
logField.setVisibility(View.VISIBLE);
pass.setVisibility(View.VISIBLE);
text_bottom.setVisibility(View.VISIBLE);
wwwtext.setVisibility(View.GONE);
buttonSignIn.setVisibility(View.VISIBLE);
buttonReg.setVisibility(View.VISIBLE);
}
private void OnClickStart (View view)
{
Intent i = new Intent(logyi.this, add.class);
startActivity(i);
}
}
Для лучшего понимания прикреплю скриншот.
При реализации перехода между страницами и/или когда вовсе нужны различные манипуляции с кодом кнопки, то при написании слушателя нажатий именно тут не видит блин. Я отчаялся и не знаю что делать...