Android - Для работы необходимо дважды нажать кнопку - PullRequest
0 голосов
/ 04 августа 2020

Я столкнулся со странной проблемой. button требуется дважды щелкнуть, чтобы решить эту проблему. Я попытался найти ответы, нашел некоторые, но у меня ничего не получилось.

Вот код

 joinButton.setOnClickListener(v -> {
        if(editTextRoomCode.getText().equals(""))
            Toast.makeText(getContext(), "Room Code Cannot be Empty", Toast.LENGTH_SHORT).show();
        else {
            dialog.show();
            Runnable progressRunnable = new Runnable() {
                @Override
                public void run() {
                    databaseReference = FirebaseDatabase.getInstance().getReference().child("Rooms");
                    databaseReference.addValueEventListener(new ValueEventListener() {
                        @Override
                        public void onDataChange(@NonNull DataSnapshot snapshot) {
                            if (snapshot.exists()) {
                                for (DataSnapshot dataSnapshot : snapshot.getChildren()) {
                                    code = dataSnapshot.child("GroupInfo/roomCode").getValue().toString();
                                    codes.add(code);
                                    dialog.dismiss();
                                }
                            }
                        }

                        @Override
                        public void onCancelled(@NonNull DatabaseError error) {

                        }
                    });
                    joinRoom();
                    dialog.dismiss();
                }
            };
            Handler pdCanceller = new Handler();
            pdCanceller.postDelayed(progressRunnable, 4000);
        }

    });

Перед добавлением Progressdialog он все еще использовал 2 клика для код для работы. Итак, с progress dialog нет проблем.

Кнопка XML

<Button
        android:id="@+id/joinRoom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_alignParentEnd="true"
        android:background="@drawable/button"
        android:text="Join Room"
        android:textColor="@android:color/white"
        android:textSize="18sp" />

Есть помощь или предложение?

1 Ответ

0 голосов
/ 04 августа 2020

Вам следует попробовать использовать синтаксис setOnClickListener для разработчиков google dev

Button button = (Button) findViewById(R.id.button_send);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
    // Do something in response to button click
}
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...