Ошибка надувания класса ImageView с помощью привязки вида - PullRequest
0 голосов
/ 04 мая 2020

Я использую ViewBinding для моего текущего приложения, но у меня возникла проблема.

В MainActivity я вызываю инфляцию xml, но она показывает следующую ошибку

Error

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.foxcode.androidscreenmirroring/com.foxcode.androidscreenmirroring.view.MainActivity}: android.view.InflateException: Binary XML file line #11: Binary XML file line #21: Error inflating class ImageView
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2613)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    at android.app.ActivityThread.-wrap11(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1517)
    at android.os.Handler.dispatchMessage(Handler.java:111)
    at android.os.Looper.loop(Looper.java:227)
    at android.app.ActivityThread.main(ActivityThread.java:6102)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:961)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:822)
 Caused by: android.view.InflateException: Binary XML file line #11: Binary XML file line #21: Error inflating class ImageView
    at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
    at com.foxcode.androidscreenmirroring.databinding.ActivityMainBinding.inflate(ActivityMainBinding.java:52)
    at com.foxcode.androidscreenmirroring.databinding.ActivityMainBinding.inflate(ActivityMainBinding.java:46)
    at com.foxcode.androidscreenmirroring.view.MainActivity.onCreate(MainActivity.java:45)
    at android.app.Activity.performCreate(Activity.java:6280)
...

Вот код xml и основной номер, который я назвал

activity_main. xml

<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawerLayout"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context=".view.MainActivity">

    <include
        android:id="@+id/data"
        layout="@layout/layout_data" />

    <com.google.android.material.navigation.NavigationView
        android:id="@+id/nav_view"
        ... />

</androidx.drawerlayout.widget.DrawerLayout>

layout_data. xml

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    android:background="@drawable/cst_background"
    >

    <include
        android:id="@+id/toolbar"
        layout="@layout/toolbar" />

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guide"
        ... />

    // error in xml
    <ImageView
        android:id="@+id/btn_connect"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/cst_background_logo"
        android:onClick="connect"
        android:padding="20dp"
        android:src="@drawable/ic_connect_wifi"
        android:tint="#EEFBFBFB"
        app:layout_constraintBottom_toTopOf="@id/guide"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity. java

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
// error in code
    binding = ActivityMainBinding.inflate(getLayoutInflater());
    setContentView(binding.getRoot());
}

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

Спасибо всем

1 Ответ

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

Удалить android:background="@drawable/cst_background_logo" эту строку из ImageView и

также изменить ImageView рисовать android:src="@drawable/ic_connect_wifi"

...