(AppCompat) Кнопки onClick Force закрывает приложение - PullRequest
0 голосов
/ 27 сентября 2019

Я искал это, но не нашел ответов, поэтому я спрашиваю здесь.

У меня есть приложение с простым макетом с одной кнопкой.Я пытался реализовать onClick, используя AppCompatButton и AppCompatImageButton.Но когда я запускаю его на устройстве Android 4.1, когда я нажимаю на него, мое приложение вылетает (к сожалению, приложение остановилось).

Я провел такой же тест на устройстве Android 5.0, и это сработало.Затем попытался сделать то же самое, но с использованием Button и ImageButton вместо этого, и это сработало на обоих.

Эти кнопки не имеют ни стиля, ни темы.Просто голые кнопки с 30 х 30 дп.Вот код:

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat
xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        app:titleTextColor="@color/white" />

    <androidx.appcompat.widget.LinearLayoutCompat
        android:id="@+id/adContainer"
        android:layout_width="match_parent"
        android:layout_height="90dp">

        <androidx.appcompat.widget.AppCompatButton
            android:id="@+id/btn"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:onClick="btnClick" />

    </androidx.appcompat.widget.LinearLayoutCompat>

</androidx.appcompat.widget.LinearLayoutCompat>

MainActivity.java

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Set ActionBar to Toolbar
        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

    }


    public void btnClick(View v) {
        // DO SOMETHING
    }
}

На данный момент яЯ использую ImageButton, но я не знаю, повлечет ли это какую-то проблему совместимости с какой-то версией Android (я поддерживаю API 16+).

Спасибо.

...