Может кто-нибудь объяснить, почему эта android раскладка не работает и завершает работу сразу после запуска? - PullRequest
0 голосов
/ 21 апреля 2020

Этот код не работает, и приложение постоянно падает. Всякий раз, когда я запускаю код, он показывает ошибку. Даже после того, как кто-нибудь может помочь мне, чтобы удалить эту ошибку. Эта ошибка также возникает всякий раз, когда я использую TextInputLayout в своем приложении.

Gradle:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.3"

    defaultConfig {
        applicationId "com.example.weatherapp"
        minSdkVersion 21
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.core:core-ktx:1.2.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.code.gson:gson:2.8.6'
    implementation 'com.google.android.material:material:1.1.0'
    implementation 'com.squareup.retrofit2:retrofit:2.6.2'
    implementation 'com.squareup.retrofit:converter-gson:2.0.0-beta2'

//    implementation 'com.google.android.gms.play-services-location:17.0.0'
    implementation 'com.google.android.libraries.places:places:2.2.0'
    implementation 'com.karumi:dexter:6.1.0'
    testImplementation 'junit:junit:4.13'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

Журнал ошибок

**

E / AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основной процесс: com.example.weatherapp, PID: 18681 java .lang.RuntimeException: невозможно запустить действие ComponentInfo {com.example.weatherapp /com. .app.ActivityThread.performLaunchActivity (ActivityThread. java: 2817) в android .app.ActivityThread.handleLaunchActivity (ActivityThread. java: 2895) в android .app.ActivityThread.-wrap11 (неизвестный источник: 0 ) в android .app.ActivityThread $ H.handleMessage (ActivityThread. java: 1616) в android .os.Handler.dispatchMessage (Обработчик. java: 106) в android .os.Looper. l oop (Looper. java: 176) в android .app.ActivityThread.main (ActivityThread. java: 6651) в java .lang.reflect.Method.invoke (собственный метод) в com. android .internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit. java: 547) в com. android .internal.os.ZygoteInit .main (ZygoteInit. java: 824) Причина: android .view.InflateException: двоичная XML строка файла # 21: двоичная XML строка файла # 21: ошибка надувания класса androidx.cardview.widget.CardView Вызывается: android .view.InflateException: двоичная XML строка файла # 21: ошибка надувания класса androidx.cardview.widget.CardView Вызывается: java .lang.reflect.InvocationTargetException at java .lang.reflect .Constructor.newInstance0 (собственный метод) в java .lang.reflect.Constructor.newInstance (Constructor. java: 334) в android .view.LayoutInflater.createView (LayoutInflater. java: 651) в android .view.LayoutInflater.createViewFromTag (LayoutInflater. java: 794) в android .view.LayoutInflater.createViewFromTag (LayoutInflater. java: 734) в android .view.LayoutInflater.rInflater. Layout. 1062 *: 867) в android .view.LayoutInflater.rInflateChildren (La youtInflater. java: 828) в android .view.LayoutInflater.rInflate (LayoutInflater. java: 870) в android .view.LayoutInflater.rInflateChildren (LayoutInflater. java: 828) в android .view.LayoutInflater.inflate (LayoutInflater. java: 519) в android .view.LayoutInflater.inflate (LayoutInflater. java: 427) в android .view.LayoutInflater.inflate (LayoutInflater. java : 374) в androidx.appcompat.app.AppCompatDelegateImpl.setContentView (AppCompatDelegateImpl. java: 555) в androidx.appcompat.app.AppCompatActivity.setContentView (AppCompatActivity. java: 161) в приложении. onCreate (MainActivity.kt: 48) в android .app.Activity.performCreate (Activity. java: 7088) в android .app.Activity.performCreate (Activity. java: 7079) в android .app.Instrumentation.callActivityOnCreate (Instrumentation. java: 1215) в android .app.ActivityThread.performLaunchActivity (ActivityThread. java: 2770) в android .app.ActivityThread.handleLaunchActivity (ActivityThread. java) : 2895) при android .app.ActivityThread.-w Rap11 (Неизвестный источник: 0) в android .app.ActivityThread $ H.handleMessage (ActivityThread. java: 1616) в android .os.Handler.dispatchMessage (Обработчик. java: 106) в android .os.Looper.l oop (Looper. java: 176) в android .app.ActivityThread.main (ActivityThread. java: 6651) в java .lang.reflect.Method.invoke (Собственный метод) в com. android .internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit. java: 547) в com. android .internal.os.ZygoteInit.main (ZygoteInit. java: 824). Вызывается: android .content.res.Resources $ NotFoundException: Drawable android: color / primary_text_light_nodisable с идентификатором ресурса

 Caused by: android.content.res.Resources$NotFoundException: File res/color/secondary_text_light_nodisable.xml from drawable resource ID

    at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:837)
    at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:638)
    at android.content.res.MiuiResourcesImpl.loadDrawable(MiuiResourcesImpl.java:316)
    at android.content.res.Resources.loadDrawable(Resources.java:900)
    at android.content.res.TypedArray.getDrawableForDensity(TypedArray.java:955)
    at android.content.res.TypedArray.getDrawable(TypedArray.java:930)

2020-04-21 19: 19: 16.157 18681-18681 / com.example.weatherapp E / AndroidRuntime: в android .view.View. (Просмотр. java: 4784) в android .view.ViewGroup. (ViewGroup. java: 597) в android .widget.FrameLayout. (FrameLayout. java: 92) в android .widget.FrameLayout. (FrameLayout. java : 87) в androidx.cardview.widget.CardView. (CardView. java: 121) в androidx.cardview.widget.CardView. (CardView. java: 117) в java .lang.reflect.Constructor. newInstance0 (собственный метод) в java .lang.reflect.Constructor.newInstance (Constructor. java: 334) в android .view.LayoutInflater.createView (LayoutInflater. java: 651) в android. view.LayoutInflater.createViewFromTag (LayoutInflater. java: 794) в android .view.LayoutInflater.createViewFromTag (LayoutInflater. java: 734) в android .view.LayoutInflater.rInflate (LayoutIn flater. java: 867) в android .view.LayoutInflater.rInflateChildren (LayoutInflater. java: 828) в android .view.LayoutInflater.rInflate (LayoutInflater. java: 870) в android .view.LayoutInflater.rInflateChildren (LayoutInflater. java: 828) в android .view.LayoutInflater.inflate (LayoutInflater. java: 519) в android .view.LayoutInflater.inflate (LayoutInflater. java : 427) в android .view.LayoutInflater.inflate (LayoutInflater. java: 374) в androidx.appcompat.app.AppCompatDelegateImpl.setContentView (AppCompatDelegateImpl. java: 555) в androidx.appppatAppatAappatApp. setContentView (AppCompatActivity. java: 161) в com.example.weatherapp.MainActivity.onCreate (MainActivity.kt: 48) в android .app.Activity.performCreate (Activity. java: 7088) в android .app.Activity.performCreate (Activity. java: 7079) в android .app.Instrumentation.callActivityOnCreate (Instrumentation. java: 1215) в android .app.ActivityThread.performLaunchActivity (ActivityThread. java). : 2770) в android .app.ActivityThread.handleLaunch Activity (ActivityThread. java: 2895) в android .app.ActivityThread.-wrap11 (неизвестный источник: 0) в android .app.ActivityThread $ H.handleMessage (ActivityThread. java: 1616) в android .os.Handler.dispatchMessage (Обработчик. java: 106) в android .os.Looper.l oop (Looper. java: 176) в android .app.ActivityThread.main ( ActivityThread. java: 6651) в java .lang.reflect.Method.invoke (собственный метод) в com. android .internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit. java: 547) в com. android .internal.os.ZygoteInit.main (ZygoteInit. java: 824) Вызывается: org.xmlpull.v1.XmlPullParserException: двоичная XML строка файла # 18: тегу требуется атрибут drawable или дочерний тег, определяющий объект рисования в android .graphics.drawable.StateListDrawable.inflateChildElements (StateListDrawable. java: 189) в android .graphics.drawable.StateListDrawable.inflate (StateListDrawable. java: 122) в android .graphics.drawable.DrawableInflater.inflateFromXmlForDensity (DrawableInflater. java: 142) в android .graphics.drawable.Drawable.c reateFromXmlInnerForDensity (Drawable. java: 1295) в android .graphics.drawable.Drawable.createFromXmlForDensity (Drawable. java: 1254) в android .content.res.ResourcesImpl.createFromXmlForDensity (ResourcesImpl. 1471) в android .content.res.ResourcesImpl.loadDrawableForCook ie (ResourcesImpl. java: 822) ... еще 39 ** XML код

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout 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:layout_width="match_parent"
        android:background="#B0EEF6"
        android:layout_height="match_parent"
        tools:context=".MainActivity"
        android:orientation="vertical"
        android:gravity="center_horizontal"
        android:padding="20dp">



        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center">

            <androidx.cardview.widget.CardView
                app:cardElevation="5dp"
                app:cardCornerRadius="10dp"
                android:background="@android:color/secondary_text_light_nodisable"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="match_parent">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="horizontal"
                    android:padding="20dp">

                    <ImageView
                        android:layout_width="50dp"
                        android:id="@+id/iv_main"
                        android:layout_height="50dp"
                        android:src="@drawable/snowflake"/>

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_gravity="end"
                        android:layout_weight="2"
                        android:orientation="vertical"
                        android:gravity="center_vertical">

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="Weather"
                            android:gravity="end"
                            android:textStyle="bold"
                            android:textSize="17sp"
                            android:textColor="@android:color/black"
                            android:id="@+id/tv_weather"/>

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="condition"
                            android:gravity="end"
                            android:textStyle="bold"
                            android:textColor="@color/quantum_grey600"
                            android:textSize="15sp"
                            android:id="@+id/tv_condition"/>


                    </LinearLayout>

                </LinearLayout>

            </androidx.cardview.widget.CardView>
            <androidx.cardview.widget.CardView
                app:cardElevation="5dp"
                android:layout_marginStart="10dp"
                app:cardCornerRadius="10dp"
                android:background="@android:color/secondary_text_light_nodisable"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="match_parent">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="horizontal"
                    android:padding="20dp">

                    <ImageView
                        android:layout_width="50dp"
                        android:id="@+id/iv_humid"
                        android:layout_height="50dp"
                        android:src="@drawable/humidity"/>

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_gravity="end"
                        android:layout_weight="2"
                        android:orientation="vertical"
                        android:gravity="center_vertical">

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="Degree"
                            android:gravity="end"
                            android:textStyle="bold"
                            android:textSize="17sp"
                            android:textColor="@android:color/black"
                            android:id="@+id/tv_degree"/>

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="per cent"
                            android:gravity="end"
                            android:textStyle="bold"
                            android:textColor="@color/quantum_grey600"
                            android:textSize="15sp"
                            android:id="@+id/tv_percent"/>


                    </LinearLayout>

                </LinearLayout>

            </androidx.cardview.widget.CardView>

        </LinearLayout>
        <LinearLayout
            android:layout_marginTop="10dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center">

            <androidx.cardview.widget.CardView
                app:cardElevation="5dp"
                app:cardCornerRadius="10dp"
                android:background="@android:color/secondary_text_light_nodisable"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="match_parent">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="horizontal"
                    android:padding="20dp">

                    <ImageView
                        android:layout_width="50dp"
                        android:id="@+id/iv_temp"
                        android:layout_height="50dp"
                        android:src="@drawable/temperature"/>

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_gravity="end"
                        android:layout_weight="2"
                        android:orientation="vertical"
                        android:gravity="center_vertical">

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="Minimum"
                            android:gravity="end"
                            android:textStyle="bold"
                            android:textSize="17sp"
                            android:textColor="@android:color/black"
                            android:id="@+id/tv_minimum"/>

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="Maximum"
                            android:gravity="end"
                            android:textStyle="bold"
                            android:textColor="@color/quantum_grey600"
                            android:textSize="15sp"
                            android:id="@+id/tv_maximum"/>


                    </LinearLayout>

                </LinearLayout>

            </androidx.cardview.widget.CardView>
            <androidx.cardview.widget.CardView
                app:cardElevation="5dp"
                android:layout_marginStart="10dp"
                app:cardCornerRadius="10dp"
                android:background="@android:color/secondary_text_light_nodisable"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="match_parent">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="horizontal"
                    android:padding="20dp">

                    <ImageView
                        android:layout_width="50dp"
                        android:id="@+id/iv_wind"
                        android:layout_height="50dp"
                        android:src="@drawable/wind"/>

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_gravity="end"
                        android:layout_weight="2"
                        android:orientation="vertical"
                        android:gravity="center_vertical">

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="Wind"
                            android:gravity="end"
                            android:textStyle="bold"
                            android:textSize="17sp"
                            android:textColor="@android:color/black"
                            android:id="@+id/tv_wind"/>

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="miles/hour"
                            android:gravity="end"
                            android:textStyle="bold"
                            android:textColor="@color/quantum_grey600"
                            android:textSize="15sp"
                            android:id="@+id/tv_miles"/>


                    </LinearLayout>

                </LinearLayout>

            </androidx.cardview.widget.CardView>

        </LinearLayout>

        <androidx.cardview.widget.CardView
            android:layout_width="match_parent"
            android:layout_marginTop="10dp"
            android:layout_height="wrap_content"
            app:cardElevation="5dp"
            app:cardCornerRadius="10dp">

            <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:padding="20dp">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">

                    <ImageView
                        android:layout_width="50dp"
                        android:layout_height="50dp"
                        android:src="@drawable/location"
                        android:id="@+id/iv_location"/>

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_gravity="end"
                        android:layout_weight="2"
                        android:orientation="vertical"
                        android:gravity="center_vertical">

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="Name"
                            android:gravity="end"
                            android:textStyle="bold"
                            android:textSize="17sp"
                            android:textColor="@android:color/black"
                            android:id="@+id/tv_name"/>

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="country"
                            android:gravity="end"
                            android:textStyle="bold"
                            android:textColor="@color/quantum_grey600"
                            android:textSize="15sp"
                            android:id="@+id/tv_country"/>


                    </LinearLayout>


                </LinearLayout>

                <View
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:layout_margin="16dp"
                    android:background="@color/quantum_grey" />

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center_horizontal"
                    android:orientation="horizontal">

                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="vertical">

                        <ImageView
                            android:layout_width="50dp"
                            android:layout_height="50dp"
                            android:src="@drawable/sunrise"/>

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="sunrise"
                            android:gravity="center"
                            android:id="@+id/tv_sunrise"/>

                    </LinearLayout>

                    <LinearLayout
                        android:layout_marginStart="20dp"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="vertical">

                        <ImageView
                            android:layout_width="50dp"
                            android:layout_height="50dp"
                            android:src="@drawable/sunset"/>

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="sunset"
                            android:gravity="center"
                            android:id="@+id/tv_sunset"/>

                    </LinearLayout>

                </LinearLayout>

            </LinearLayout>

        </androidx.cardview.widget.CardView>

    </LinearLayout>

1 Ответ

0 голосов
/ 21 апреля 2020

Пожалуйста, добавьте зависимость вида карты

implementation 'androidx.cardview:cardview:1.0.0'

и используйте

app:background="@android:color/secondary_text_light_nodisable"

или

app:cardBackgroundColor="@android:color/secondary_text_light_nodisable"
...