【问题标题】:Not able to set another image below first image in linear layout无法在线性布局中的第一个图像下方设置另一个图像
【发布时间】:2019-06-09 13:30:31
【问题描述】:

我正在做一些项目,我使用线性布局并在其中设置图像和文本。结束第一个线性布局后,我想要另一个线性布局并设置图像。但我正在设置我的应用程序不断崩溃的图像。 这是代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:layout_height="match_parent"
    tools:context=".guidance_new"
    android:id="@+id/layout"
    android:background="@drawable/bg_animation"
    android:orientation="horizontal"
    android:padding="16dp">
    <ImageView
        android:layout_width="75dp"
        android:layout_height="75dp"
        android:id="@+id/hanging_lamp"
        android:src="@drawable/bulb1"/>

    <LinearLayout
        android:id="@+id/linear1"
        android:layout_width="match_parent"
        android:layout_height="180dp"
        android:orientation="vertical"
        >
        <TextView
            android:layout_width="150dp"
            android:layout_height="70dp"
            android:text="100W Bulb"
            android:textColor="#000"
            android:textStyle="bold"

            android:textSize="20sp"
            android:layout_marginLeft="180dp"
            android:id="@+id/textView1"/>
        <TextView
            android:layout_width="150dp"
            android:layout_height="80dp"
            android:text="Price:100/. Voltage:220V-240V ."
            android:textColor="#a9a9a9"
            android:textStyle="bold"


            android:textSize="20sp"
            android:layout_marginLeft="180dp"
            android:id="@+id/textView2"/>


        /////// layout is set here



    </LinearLayout>
    <ImageView
        android:layout_width="75dp"
        android:layout_height="75dp"
        android:id="@+id/chandlier"
        android:src="@drawable/chandelier"
        android:layout_below="@id/linear1"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="180dp"
        android:layout_below="@id/linear1">

        <TextView
            android:layout_width="150dp"
            android:layout_height="70dp"
            android:text="Chandlier"
            android:textColor="#000"
            android:textStyle="bold"

            android:layout_marginLeft="180dp"
            android:textSize="20sp"/>




    </LinearLayout>




</RelativeLayout>

这是主日志:

06-09 18:26:34.348 23904-23904/com.example.animation E/AndroidRuntime: 致命异常: main 进程:com.example.animation,PID:23904 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.animation/com.example.animation.guidance_new}: android.view.InflateException: Binary XML file line #52: Binary XML file line #52: Error inflating class图像视图

    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2484)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2544)
    at android.app.ActivityThread.access$900(ActivityThread.java:150)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:168)
    at android.app.ActivityThread.main(ActivityThread.java:5845)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687)
 Caused by: android.view.InflateException: Binary XML file line #52: Binary XML file line #52: Error inflating class ImageView
    at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
    at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
    at com.example.animation.guidance_new.onCreate(guidance_new.java:20)
    at android.app.Activity.performCreate(Activity.java:6248)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1125)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2437)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2544) 
    at android.app.ActivityThread.access$900(ActivityThread.java:150) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:168) 
    at android.app.ActivityThread.main(ActivityThread.java:5845) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687) 
 Caused by: android.view.InflateException: Binary XML file line #52: Error inflating class ImageView
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:782)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
    at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469) 
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
    at com.example.animation.guidance_new.onCreate(guidance_new.java:20) 
    at android.app.Activity.performCreate(Activity.java:6248) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1125) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2437) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2544) 
    at android.app.ActivityThread.access$900(ActivityThread.java:150) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:168) 
    at android.app.ActivityThread.main(ActivityThread.java:5845) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687) 
 Caused by: android.content.res.Resources$NotFoundException: Resource "com.example.animation:drawable/chandelier" (7f060064) is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f060064 a=-1 r=0x7f060064}
    at android.content.res.Resources.loadDrawableForCookie(Resources.java:2617)
    at android.content.res.Resources.loadDrawable(Resources.java:2555)
    at android.content.res.TypedArray.getDrawable(TypedArray.java:870)
    at android.widget.ImageView.<init>(ImageView.java:152)
    at android.widget.ImageView.<init>(ImageView.java:140)
    at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:72)
    at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:68)
    at android.support.v7.app.AppCompatViewInflater.createImageView(AppCompatViewInflater.java:182)
    at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106)
    at android.support.v7.app.AppCompatDelegateImpl.createView(AppCompatDelegateImpl.java:1266)
    at android.support.v7.app.AppCompatDelegateImpl.onCreateView(AppCompatDelegateImpl.java:1316)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:746)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
    at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469) 
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
    at com.example.animation.guidance_new.onCreate(guidance_new.java:20) 
    at android.app.Activity.performCreate(Activity.java:6248) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1125) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2437) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2544) 
    at android.app.ActivityThread.access$900(ActivityThread.java:150) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:168) 
    at android.app.ActivityThread.main(ActivityThread.java:5845) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687) 

06-09 18:26:34.357 23904-23927/com.example.animation V/FA:连接尝试已在进行中

【问题讨论】:

    标签: android crash android-linearlayout inflate-exception


    【解决方案1】:

    您尝试在 ImageView(枝形吊灯)中显示的资源无效。 您可以在日志中看到:Caused by: android.content.res.Resources$NotFoundException: Resource "com.example.animation:drawable/chandelier" (7f060064) is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f060064 a=-1 r=0x7f060064} 检查文件路径是否正确并尝试显示其他图像。

    【讨论】:

      【解决方案2】:

      试试这个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:layout_height="match_parent"
           tools:context=".guidance_new"
          android:id="@+id/layout"
          android:background="@drawable/bg_animation"
          android:orientation="vertical"
          android:padding="16dp">
      
      
      
          <LinearLayout
              android:id="@+id/linear1"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
      
              android:orientation="horizontal">
              <ImageView
                  android:layout_width="75dp"
                  android:layout_height="75dp"
                  android:id="@+id/hanging_lamp"
                  android:src="@drawable/bulb1"/>
              <LinearLayout
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:orientation="vertical">
                  <TextView
                      android:layout_width="wrap_content"
                      android:layout_height="70dp"
                      android:text="100W Bulb"
                      android:textColor="#000"
                      android:textStyle="bold"
      
                      android:textSize="20sp"
                      android:layout_marginLeft="30dp"
                      android:id="@+id/textView1"/>
                  <TextView
                      android:layout_width="wrap_content"
                      android:layout_height="80dp"
                      android:text="Price:100/. Voltage:220V-240V ."
                      android:textColor="#a9a9a9"
                      android:textStyle="bold"
      
      
                      android:textSize="20sp"
                      android:layout_marginLeft="30dp"
                      android:id="@+id/textView2"/>
              </LinearLayout>
      
      
      
      
      
              /////// layout is set here
      
      
      
          </LinearLayout>
          <LinearLayout
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:src="@drawable/chandelier"
              android:orientation="horizontal"
              android:layout_marginTop="30dp">
              <ImageView
                  android:layout_width="75dp"
                  android:layout_height="75dp"
                  android:id="@+id/chandlier"
                  android:src="@drawable/bulb1"/>
              <LinearLayout
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:orientation="vertical">
                  <TextView
                      android:layout_width="wrap_content"
                      android:layout_height="70dp"
                      android:textColor="#000"
                      android:textStyle="bold"
                      android:text="Chandlier"
                      android:textSize="20sp"
                      android:layout_marginLeft="30dp"
                      />
      
              </LinearLayout>
      
      
      
      </LinearLayout> 
      </LinearLayout> 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多