有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java每次我向应用程序添加图像时,它都会崩溃

每当我在我的应用程序中添加图像时,它就会开始崩溃,但如果没有图像,它就可以正常工作。 这是我的日志

12-12 17:38:15.616 1301-1301/com.govinddixit.govindscurrencyconverter E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                        java.lang.RuntimeException: Unable to start activity ComponentInfo{com.govinddixit.govindscurrencyconverter/com.govinddixit.govindscurrencyconverter.MainActivity}: 安卓.view.InflateException: Binary XML file line #0: Error inflating class ImageView
                                                                                            at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
                                                                                            at 安卓.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
                                                                                            at 安卓.app.ActivityThread.access$600(ActivityThread.java:141)
                                                                                            at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
                                                                                            at 安卓.os.Handler.dispatchMessage(Handler.java:99)
                                                                                            at 安卓.os.Looper.loop(Looper.java:137)
                                                                                            at 安卓.app.ActivityThread.main(ActivityThread.java:5041)
                                                                                            at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                            at java.lang.reflect.Method.invoke(Method.java:511)
                                                                                            at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
                                                                                            at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:560)
                                                                                            at dalvik.system.NativeStart.main(Native Method)
                                                                                         Caused by: 安卓.view.InflateException: Binary XML file line #0: Error inflating class ImageView
                                                                                            at 安卓.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
                                                                                            at 安卓.view.LayoutInflater.rInflate(LayoutInflater.java:746)
                                                                                            at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:489)
                                                                                            at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:396)
                                                                                            at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:352)
                                                                                            at 安卓.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
                                                                                            at 安卓.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
                                                                                            at com.govinddixit.govindscurrencyconverter.MainActivity.onCreate(MainActivity.java:28)
                                                                                            at 安卓.app.Activity.performCreate(Activity.java:5104)
                                                                                            at 安卓.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
                                                                                            at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
                                                                                            at 安卓.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
                                                                                            at 安卓.app.ActivityThread.access$600(ActivityThread.java:141) 
                                                                                            at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
                                                                                            at 安卓.os.Handler.dispatchMessage(Handler.java:99) 
                                                                                            at 安卓.os.Looper.loop(Looper.java:137) 
                                                                                            at 安卓.app.ActivityThread.main(ActivityThread.java:5041) 
                                                                                            at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                                            at java.lang.reflect.Method.invoke(Method.java:511) 
                                                                                            at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
                                                                                            at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
                                                                                            at dalvik.system.NativeStart.main(Native Method) 
                                                                                         Caused by: 安卓.content.res.Resources$NotFoundException: Resource ID #0x7f060001
                                                                                            at 安卓.content.res.Resources.getValue(Resources.java:1014)
                                                                                            at 安卓.support.v7.widget.ResourcesWrapper.getValue(ResourcesWrapper.java:208)
                                                                                            at 安卓.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:330)
                                                                                            at 安卓.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:195)
                                                                                            at 安卓.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:188)
                                                                                            at 安卓.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:100)
                                                                                            at 安卓.support.v7.widget.AppCompatImageHelper.loadFromAttributes(AppCompatImageHelper.java:58)
                                                                                            at 安卓.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:78)
                                                                                            at 安卓.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:68)
                                                                                            at 安卓.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106)
                                                                                            at 安卓.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1024)
                                                                                            at 安卓.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1081)
                                                                                            at 安卓.view.LayoutInflater.createViewFromTag(LayoutInflater.java:675)
                                                                                            at 安卓.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
                                                                                            at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:489) 
                                                                                            at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:396) 
                                                                                            at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:352) 
                                                                                            at 安卓.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
                                                                                            at 安卓.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
                                                                                            at com.govinddixit.govindscurrencyconverter.MainActivity.onCreate(MainActivity.java:28) 
                                                                                            at 安卓.app.Activity.performCreate(Activity.java:5104) 
                                                                                            at 安卓.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
                                                                                            at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
                                                                                            at 安卓.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
                                                                                            at 安卓.app.ActivityThread.access$600(ActivityThread.java:141) 
                                                                                            at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
                                                                                            at 安卓.os.Handler.dispatchMessage(Handler.java:99) 
                                                                                            at 安卓.os.Looper.loop(Looper.java:137) 
                                                                                            at 安卓.app.ActivityThread.main(ActivityThread.java:5041) 
                                                                                            at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                                            at java.lang.reflect.Method.invoke(Method.java:511) 
                                                                                            at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
                                                                                            at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
                                                                                            at dalvik.system.NativeStart.main(Native Method) 
12-12 17:38:15.820 437-688/system_process W/ActivityManager:   Force finishing activity com.govinddixit.govindscurrencyconverter/.MainActivity
12-12 17:38:16.200 437-688/system_process D/dalvikvm: GC_FOR_ALLOC freed 102K, 19% free 5433K/6648K, paused 101ms, total 101ms
12-12 17:38:16.224 437-688/system_process I/dalvikvm-heap: Grow heap (frag case) to 5.778MB for 380492-byte allocation
12-12 17:38:16.532 437-491/system_process D/dalvikvm: GC_FOR_ALLOC freed 2K, 18% free 5802K/7020K, paused 306ms, total 306ms
12-12 17:38:16.636 437-453/system_process D/dalvikvm: GC_FOR_ALLOC freed 7K, 16% free 5918K/7020K, paused 23ms, total 23ms
12-12 17:38:16.656 437-453/system_process I/dalvikvm-heap: Grow heap (frag case) to 6.965MB for 1127532-byte allocation
12-12 17:38:16.696 437-445/system_process D/dalvikvm: GC_FOR_ALLOC freed <1K, 14% free 7019K/8124K, paused 39ms, total 39ms
12-12 17:38:16.768 437-439/system_process D/dalvikvm: GC_CONCURRENT freed 6K, 13% free 7111K/8124K, paused 49ms+3ms, total 69ms

                                                      [ 12-12 17:38:16.860   409:  946 D/         ]
                                                      HostConnection::get() New Host Connection established 0xb80a6870, tid 946


                                                      [ 12-12 17:38:16.892   437:  453 D/         ]
                                                      HostConnection::get() New Host Connection established 0xb7c43788, tid 453
12-12 17:38:17.104 437-450/system_process W/ActivityManager: Activity pause timeout for ActivityRecord{5321514c u0 com.govinddixit.govindscurrencyconverter/.MainActivity}
12-12 17:38:17.528 662-662/com.安卓.launcher W/EGL_genymotion: eglSurfaceAttrib not implemented
12-12 17:38:19.044 437-453/system_process I/Choreographer: Skipped 44 frames!  The application may be doing too much work on its main thread.
12-12 17:38:20.536 437-452/system_process I/Choreographer: Skipped 49 frames!  The application may be doing too much work on its main thread.
12-12 17:38:21.504 437-452/system_process I/Choreographer: Skipped 57 frames!  The application may be doing too much work on its main thread.
12-12 17:38:22.496 437-437/system_process I/ActivityManager: No longer want com.安卓.email (pid 1074): empty #17
12-12 17:38:22.648 437-518/system_process I/qtaguid: Failed write_ctrl(s 0 10052) res=-1 errno=1
12-12 17:38:22.648 437-518/system_process W/NetworkManagementSocketTagger: setKernelCountSet(10052, 0) failed with errno -1

Java活动

package com.govinddixit.govindscurrencyconverter;

import 安卓.support.v7.app.AppCompatActivity;
import 安卓.os.Bundle;
import 安卓.util.Log;
import 安卓.view.View;
import 安卓.view.Menu;
import 安卓.view.MenuItem;
import 安卓.widget.EditText;
import 安卓.widget.Toast;


public class MainActivity extends AppCompatActivity
{
    public void convert (View view)
    {
        EditText dollarField=(EditText) findViewById(R.id.dollarField);
       Double dollarAmount =Double.parseDouble(dollarField.getText().toString());

        Double rupee=dollarAmount*64.50;
        Toast.makeText(getApplicationContext(),"Rs " + rupee.toString(),Toast.LENGTH_LONG).show();

    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

这是。xml文件

<?xml version="1.0" encoding="utf-8"?>
<安卓.support.constraint.ConstraintLayout xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
    xmlns:app="http://schemas.安卓.com/apk/res-auto"
    xmlns:tools="http://schemas.安卓.com/tools"
    安卓:layout_width="match_parent"
    安卓:layout_height="match_parent"
    tools:context="com.govinddixit.govindscurrencyconverter.MainActivity">

    <TextView
        安卓:id="@+id/textView2"
        安卓:layout_width="347dp"
        安卓:layout_height="33dp"
        安卓:layout_marginBottom="8dp"
        安卓:layout_marginEnd="8dp"
        安卓:layout_marginStart="8dp"
        安卓:layout_marginTop="8dp"
        安卓:text="Enter The Amount In Dollar"
        安卓:textSize="25sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.52" />

    <EditText
        安卓:id="@+id/dollarField"
        安卓:layout_width="335dp"
        安卓:layout_height="wrap_content"
        安卓:layout_marginEnd="8dp"
        安卓:layout_marginStart="8dp"
        安卓:layout_marginTop="8dp"
        安卓:ems="10"
        安卓:inputType="numberDecimal"
        app:layout_constraintBottom_toTopOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.63" />

    <Button
        安卓:id="@+id/button"
        安卓:layout_width="160dp"
        安卓:layout_height="wrap_content"
        安卓:layout_marginBottom="8dp"
        安卓:layout_marginEnd="8dp"
        安卓:layout_marginStart="8dp"
        安卓:layout_marginTop="8dp"
        安卓:onClick="convert"
        安卓:text="Convert"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.8" />

    <EditText
        安卓:id="@+id/textView1"
        安卓:layout_width="347dp"
        安卓:layout_height="55dp"
        安卓:layout_marginBottom="8dp"
        安卓:layout_marginEnd="8dp"
        安卓:layout_marginStart="8dp"
        安卓:layout_marginTop="8dp"
        安卓:ems="10"
        安卓:inputType="textPersonName"
        安卓:text="        Dollar To Ruppes"
        安卓:textSize="30sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.37" />

    <ImageView
        安卓:id="@+id/imageView8"
        安卓:layout_width="67dp"
        安卓:layout_height="74dp"
        安卓:layout_marginBottom="8dp"
        安卓:layout_marginEnd="8dp"
        安卓:layout_marginStart="8dp"
        安卓:layout_marginTop="8dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.501"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.097"
        app:srcCompat="@drawable/a" />

</安卓.support.constraint.ConstraintLayout>

共 (3) 个答案

  1. # 1 楼答案

    你必须使用android:src而不是app:srcCompat,并确保你的绘图表中有该图像文件

    <ImageView
            android:id="@+id/imageView8"
            android:layout_width="67dp"
            android:layout_height="74dp"
            android:layout_marginBottom="8dp"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.501"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.097"
            android:src="@drawable/a" />
    
  2. # 2 楼答案

    以下是我的答案,希望对你有用:

    1。首先,在构建中输入以下代码。格拉德尔:

        defaultConfig {
           vectorDrawables.useSupportLibrary = true
        }
    

    使vector drawable可用于您的应用程序

    2。还可以像下面这样在应用程序/活动类中启用:

        static {
                AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
               }
    

    了解编译器在运行时使用vector drawable进入任何视图,如Image/Edittext/Text/Button

    3。如果您正在使用into TextView/Edittext/按钮,请使用其属性创建自定义视图,如下所示:

       public class CustomTextView extends AppCompatTextView 
       {
    
        public CustomTextView(Context context) {
            super(context);
        }
    
        public CustomTextView(Context context, AttributeSet attrs) {
            super(context, attrs);
            initAttrs(context, attrs);
        }
    
        public CustomTextView(Context context, AttributeSet attrs, int defStyleAttr) {
            super(context, attrs, defStyleAttr);
            initAttrs(context, attrs);
        }
    
        void initAttrs(Context context, AttributeSet attrs) {
            if (attrs != null) {
                TypedArray attributeArray = context.obtainStyledAttributes(
                        attrs,
                        R.styleable.CustomTextView);
    
                Drawable drawableLeft = null;
                Drawable drawableRight = null;
                Drawable drawableBottom = null;
                Drawable drawableTop = null;
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                    drawableLeft = attributeArray.getDrawable(R.styleable.CustomTextView_drawableLeftCompat);
                    drawableRight = attributeArray.getDrawable(R.styleable.CustomTextView_drawableRightCompat);
                    drawableBottom = attributeArray.getDrawable(R.styleable.CustomTextView_drawableBottomCompat);
                    drawableTop = attributeArray.getDrawable(R.styleable.CustomTextView_drawableTopCompat);
                } else {
                    final int drawableLeftId = attributeArray.getResourceId(R.styleable.CustomTextView_drawableLeftCompat, -1);
                    final int drawableRightId = attributeArray.getResourceId(R.styleable.CustomTextView_drawableRightCompat, -1);
                    final int drawableBottomId = attributeArray.getResourceId(R.styleable.CustomTextView_drawableBottomCompat, -1);
                    final int drawableTopId = attributeArray.getResourceId(R.styleable.CustomTextView_drawableTopCompat, -1);
    
                    if (drawableLeftId != -1)
                        drawableLeft = AppCompatResources.getDrawable(context, drawableLeftId);
                    if (drawableRightId != -1)
                        drawableRight = AppCompatResources.getDrawable(context, drawableRightId);
                    if (drawableBottomId != -1)
                        drawableBottom = AppCompatResources.getDrawable(context, drawableBottomId);
                    if (drawableTopId != -1)
                        drawableTop = AppCompatResources.getDrawable(context, drawableTopId);
                }
                setCompoundDrawablesWithIntrinsicBounds(drawableLeft, drawableTop, drawableRight, drawableBottom);
                attributeArray.recycle();
            }
        }
        }
    

    4。将你的房产打造成如下风格:

        <declare-styleable name="CustomTextView">
            <attr name="drawableLeftCompat" format="reference"/>
            <attr name="drawableRightCompat" format="reference"/>
            <attr name="drawableTopCompat" format="reference"/>
            <attr name="drawableBottomCompat" format="reference"/>
        </declare-styleable>
    

    5。最后用于布局文件,如:

        <com.app.myapplication.CustomTextView
            style="@style/editText"
            android:layout_below="@id/edtSample"
            app:drawableLeftCompat="@drawable/ic_android_black_24dp"
            app:drawableRightCompat="@drawable/ic_android_black_24dp">
         </com.app.myapplication.CustomTextView>
    

    6。这就是我们在应用程序中使用的所有可绘制向量

  3. # 3 楼答案

    你的stacktrace显示Resources$NotFoundException。确保所有名为a的图像都包含在drawable文件夹中

    如果有,那么试试android:src="@drawable/a"

    希望这有帮助