崩溃的图像按钮

时间:2015-10-02 16:49:03

标签: android xml android-layout android-activity android-imagebutton

我只是想问为什么单击图像按钮总是崩溃。我遇到了问题,当我在Child布局中添加Image View时,它会导致崩溃。但当我删除图像视图时,它的工作原理。我正在为我的论文开发Mobile Grocery App,我是初学者。所以请忍受我的代码。

的logcat

   java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.admin.mobile_grocery/com.example.admin.mobile_grocery.Baby_Food}: android.view.InflateException: Binary XML file line #7: Error inflating class <unknown>
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
                at android.app.ActivityThread.access$700(ActivityThread.java:140)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
                at android.os.Handler.dispatchMessage(Handler.java:99)
                at android.os.Looper.loop(Looper.java:137)
                at android.app.ActivityThread.main(ActivityThread.java:4921)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:511)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
                at dalvik.system.NativeStart.main(Native Method)
         Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class <unknown>
                at android.view.LayoutInflater.createView(LayoutInflater.java:619)
                at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
                at android.view.LayoutInflater.onCreateView(LayoutInflater.java:666)
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:691)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:752)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
                at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:249)
                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)
                at com.example.admin.mobile_grocery.Baby_Food.onCreate(Baby_Food.java:16)
                at android.app.Activity.performCreate(Activity.java:5188)
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
                at android.app.ActivityThread.access$700(ActivityThread.java:140)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
                at android.os.Handler.dispatchMessage(Handler.java:99)
                at android.os.Looper.loop(Looper.java:137)
                at android.app.ActivityThread.main(ActivityThread.java:4921)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:511)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
                at dalvik.system.NativeStart.main(Native Method)
         Caused by: java.lang.reflect.InvocationTargetException
                at java.lang.reflect.Constructor.constructNative(Native Method)
                at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
                at android.view.LayoutInflater.createView(LayoutInflater.java:593)
                at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
                at android.view.LayoutInflater.onCreateView(LayoutInflater.java:666)
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:691)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:752)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
                at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:249)
                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)
                at com.example.admin.mobile_grocery.Baby_Food.onCreate(Baby_Food.java:16)
                at android.app.Activity.performCreate(Activity.java:5188)
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
                at android.app.ActivityThread.access$700(ActivityThread.java:140)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
                at android.os.Handler.dispatchMessage(Handler.java:99)
                at android.os.Looper.loop(Looper.java:137)
                at android.app.ActivityThread.main(ActivityThread.java:4921)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:511)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
                at dalvik.system.NativeStart.main(Native Method)
         Caused by: java.lang.OutOfMemoryError
                at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
                at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:636)
                at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:484)
                at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:813)
                at android.content.res.Resources.loadDrawable(Resources.java:2277)
                at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
                at android.widget.ImageView.<init>(ImageView.java:126)
                at android.widget.ImageView.<init>(ImageView.java:116)
                at java.lang.reflect.Constructor.constructNative(Native Method)
                at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
                at android.view.LayoutInflater.createView(LayoutInflater.java:593)
                at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
                at android.view.LayoutInflater.onCreateView(LayoutInflater.java:666)
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:691)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:752)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
                at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:249)
                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)
                at com.example.admin.mobile_grocery.Baby_Food.onCreate(Baby_Food.java:16)
                at android.app.Activity.performCreate(Activity.java:5188)
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
                at android.app.ActivityThread.access$700(ActivityThread.java:140)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
                at android.os.Handler.dispatchMessage(Handler.java:99)
                at android.os.Looper.loop(Looper.java:137)
                at android.app.ActivityThread.main(ActivityThread.java:4921)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:511)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
                at dalvik.system.NativeStart.main(Native Method)

Baby_Items XML(父图像按钮)

<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.example.admin.mobile_grocery.Baby_Items"
android:id="@+id/baby_items">

<ImageButton
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:id="@+id/diapers"
    android:src="@drawable/cloth_diaper_pic"
    android:scaleType="centerCrop"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:onClick="baby_diaper" />

<ImageButton
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:id="@+id/baby_food"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:src="@drawable/baby_food"
    android:scaleType="centerCrop"

    android:onClick="baby_food" />

<ImageButton
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:id="@+id/baby_milk"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:src="@drawable/milk"
    android:scaleType="centerCrop"
    android:onClick="baby_milk" />

Baby_Food XML(子图像按钮)

<RelativeLayout 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"
tools:context="com.example.admin.mobile_grocery.Baby_Food"
android:id="@+id/baby_food">

<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@drawable/ctgry_bckgrnd"
    android:scaleType="centerCrop"
    android:id="@+id/category_background" />

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Cory &amp; Gate"
    android:id="@+id/coryandgate"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginTop="52dp"
    android:checked="false"
    android:textColor="#000000"
    android:buttonTint="#000000"
    />

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Gerber"
    android:id="@+id/gerber"
    android:layout_below="@+id/coryandgate"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:checked="false"
    android:textColor="#000000"
    android:buttonTint="#000000"
    />

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hipp"
    android:id="@+id/hipp"
    android:layout_below="@+id/gerber"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:checked="false"
    android:textColor="#000000"
    android:buttonTint="#000000"
    />

<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="ADD TO CART"
    android:id="@+id/addcart"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />

Baby_Items JAVA(父母)

public class Baby_Items extends ActionBarActivity {

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

public void baby_diaper (View view) {
    Intent i = new Intent(this, Baby_Diaper.class);
    startActivity(i);
}

public void baby_food (View view) {
    Intent i = new Intent(this, Baby_Food.class);
    startActivity(i);
}

public void baby_milk (View view) {
    Intent i = new Intent(this, Baby_Milk.class);
    startActivity(i);
}

Baby_Food(儿童)

未添加任何代码

1 个答案:

答案 0 :(得分:0)

尝试通过简单的布局替换图像视图并向其添加背景来减少图像视图的数量。