应用程序不幸停止了?
Posted
技术标签:
【中文标题】应用程序不幸停止了?【英文标题】:App Unfortunately Stopped? 【发布时间】:2015-06-20 02:37:36 【问题描述】:当我运行 android Studio 项目时显示 应用程序不幸停止
以下是activity_main.xml
和MainActivity.java
代码。
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/RelativeLayout1"
android:layout_
android:layout_
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:background="@color/abc_primary_text_material_dark" >
<Button
android:id="@+id/button1"
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:layout_marginBottom="40dp"
android:background="@color/abc_primary_text_disable_only_material_light"
android:text="@string/black"
android:onClick="onClick"/>
<ImageView
android:id="@+id/image1"
android:layout_
android:layout_
android:scaleType="fitXY"
android:contentDescription="@string/black"
android:onClick="onClick"/>
</RelativeLayout>
MainActivity.java
package com.sudheergv.pndu;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageView;
import android.view.View;
import java.util.*;
public class MainActivity extends Activity
ImageView imageView;
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView= (ImageView)findViewById(R.id.image1);
public void onClick(View view)
int[] picture=
R.drawable.android3d,R.drawable.android,R.drawable.image1;
Random r = new Random();
int n=r.nextInt(picture.length);
imageView.setImageResource(picture[n]);
【问题讨论】:
请发布错误日志 你的picture
数组的长度是3
,而n
的值可能是6
,迟早你会得到一个ArrayIndexOutOfBoundsException
异常。
请告诉我该怎么做???
你可以把r.nextInt(7)
改成r.nextInt(picture.length)
我想你有outOfBoundIndex exeption
查看你的日志文件
【参考方案1】:
您应该将View view
放入您的onClick
方法中;
public void onClick(View view)
int[] picture =
R.drawable.android3d,R.drawable.android,R.drawable.image1;
Random r = new Random();
int n=r.nextInt(7);
imageView.setImageResource(picture[n]);
你应该给你的ImageView
一个drawable
像这样:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/RelativeLayout1"
android:layout_
android:layout_
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:background="@color/abc_primary_text_material_dark" >
<Button
android:id="@+id/button1"
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:layout_marginBottom="40dp"
android:background="@color/abc_primary_text_disable_only_material_light"
android:text="@string/black"
android:onClick="onClick"/>
<ImageView
android:id="@+id/image1"
android:layout_
android:layout_
android:src="@drawable/your_drawable"
android:scaleType="fitXY"
android:contentDescription="@string/black" />
</RelativeLayout>
【讨论】:
public void onClick(View view) int[] picture= R.drawable.android3d,R.drawable.android,R.drawable.image1;随机 r = new Random(); int n=r.nextInt(picture.length); imageView.setImageResource(图片[n]); 修改但仍然是相同的朋友 引起:android.view.InflateException:二进制 XML 文件第 1 行:在 com. android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55) 在 android.view.LayoutInflater.onCreateView(LayoutInflater.java:682) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741) 在 android .view.LayoutInflater.inflate(LayoutInflater.java:482) @SuperThomasLab 我发现了这个错误!你应该给你的imageview一个drawable:在你的imageview中你应该把android:src="@drawable/example_drawable" 现在显示如下 渲染问题以上是关于应用程序不幸停止了?的主要内容,如果未能解决你的问题,请参考以下文章
当我按下 ButtonImage 时,应用程序崩溃了。不幸的是,该应用程序已停止工作[重复]
Android自定义ArrayAdapter:滚动时“不幸的是,应用程序已停止”