我在eclipse中的程序遇到了一个奇怪的问题。我有多个活动,我的意图方法跳转到另一个活动。它正在致力于其他活动,但对于某项活动,它不起作用,因此,应用程序崩溃。我有以下活动意图跳:
GameMenu
意图按钮指向> AppInfo
& InstructionScreen
(工作正常)AppInfo
意图按钮指示返回> GameMenu
(工作正常)Instruction
意图按钮指向> ColorGame
活动
(崩溃)。以下是InstructionScreen
的代码:
public class InstructionScreen extends Activity {
ViewFlipper c2s;
ImageView c2s1,c2s2;
MediaPlayer buttonClick;
Intent playGame;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_instruction_screen);
c2s = (ViewFlipper) findViewById (R.id.click2start);
buttonClick = MediaPlayer.create(this, R.raw.buttonclick);
c2s.setFlipInterval(100);
c2s.startFlipping();
this.clickToStart();
}
private void clickToStart() {
c2s1 = (ImageView) findViewById (R.id.c2s1);
c2s2 = (ImageView) findViewById (R.id.c2s2);
c2s1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
buttonClick.start();
c2s.stopFlipping();
playGame = new Intent(InstructionScreen.this, ColorGame.class);
playGame.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(playGame);
}
});
c2s2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
buttonClick.start();
c2s.stopFlipping();
playGame = new Intent(InstructionScreen.this, ColorGame.class);
playGame.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(playGame);
}
});
}
}
以下是ColorGame
的代码:(内容未完成,但我怀疑是问题)
public class ColorGame extends Activity {
TextView timer, score;
ViewFlipper colors;
ImageView yellow, red, green;
MediaPlayer backgroundMusic;
int gameTime, points;
Random colorNum;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_color_game);
backgroundMusic = MediaPlayer.create(this, R.raw.colorgamebgs);
backgroundMusic.start();
yellow = (ImageView) findViewById(R.id.yellowbar);
red = (ImageView) findViewById(R.id.redbar);
green = (ImageView) findViewById(R.id.greenbar);
colorNum = new Random();
timer = (TextView) findViewById(R.id.timer);
timer.setText("START");
this.startGame();
}
private void startGame() {
// TODO Auto-generated method stub
}
}
此外,还有XML for ColorGame
:
<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:background="@drawable/colorgame"
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=".ColorGame" >
<TextView
android:id="@+id/timer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="70dp"
android:text="@string/game_timer"
android:textSize="100sp" />
<TextView
android:id="@+id/score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/timer"
android:layout_centerHorizontal="true"
android:layout_marginTop="28dp"
android:contentDescription="@string/score_pts"
android:text="@string/score_pts"
android:textAppearance="?android:attr/textAppearanceLarge" />
<ImageView
android:id="@+id/yellowbar"
android:layout_width="70dp"
android:layout_height="125dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:contentDescription="@string/yellow_bar"
android:src="@drawable/yellowbar" />
<ImageView
android:id="@+id/greenbar"
android:layout_width="70dp"
android:layout_height="125dp"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/redbar"
android:contentDescription="@string/green_bar"
android:src="@drawable/greenbar" />
<ViewFlipper
android:id="@+id/colors"
android:layout_width="150dp"
android:layout_height="100dp"
android:layout_centerVertical="true"
android:layout_below="@+id/score"
android:visibility="invisible"
android:layout_toLeftOf="@+id/greenbar" >
<ImageView
android:id="@+id/green1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/green"
android:src="@drawable/green1" />
<ImageView
android:id="@+id/green2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/green"
android:src="@drawable/green2" />
<ImageView
android:id="@+id/green3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/green"
android:src="@drawable/green3" />
<ImageView
android:id="@+id/red1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/red"
android:src="@drawable/red1" />
<ImageView
android:id="@+id/red2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/red"
android:src="@drawable/red2" />
<ImageView
android:id="@+id/red3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/red"
android:src="@drawable/red3" />
<ImageView
android:id="@+id/dilaw1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/dilaw"
android:src="@drawable/yellow1" />
<ImageView
android:id="@+id/dilaw2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/dilaw"
android:src="@drawable/yellow2" />
<ImageView
android:id="@+id/dilaw3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/dilaw"
android:src="@drawable/yellow3" />
</ViewFlipper>
<ImageView
android:id="@+id/redbar"
android:layout_width="70dp"
android:layout_height="125dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:contentDescription="@string/red_bar"
android:src="@drawable/redbar" />
</RelativeLayout>
logcat的:
05-03 20:46:12.479: E/SpannableStringBuilder(28535): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
05-03 20:46:12.479: E/SpannableStringBuilder(28535): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
05-03 20:46:19.594: E/dalvikvm-heap(28535): Out of memory on a 1200016-byte allocation.
05-03 20:46:19.634: E/AndroidRuntime(28535): FATAL EXCEPTION: main
05-03 20:46:19.634: E/AndroidRuntime(28535): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ics136.colorgame/com.ics136.colorgame.ColorGame}: android.view.InflateException: Binary XML file line #42: Error inflating class <unknown>
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.app.ActivityThread.access$700(ActivityThread.java:140)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.os.Handler.dispatchMessage(Handler.java:99)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.os.Looper.loop(Looper.java:137)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.app.ActivityThread.main(ActivityThread.java:4938)
05-03 20:46:19.634: E/AndroidRuntime(28535): at java.lang.reflect.Method.invokeNative(Native Method)
05-03 20:46:19.634: E/AndroidRuntime(28535): at java.lang.reflect.Method.invoke(Method.java:511)
05-03 20:46:19.634: E/AndroidRuntime(28535): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
05-03 20:46:19.634: E/AndroidRuntime(28535): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
05-03 20:46:19.634: E/AndroidRuntime(28535): at dalvik.system.NativeStart.main(Native Method)
05-03 20:46:19.634: E/AndroidRuntime(28535): Caused by: android.view.InflateException: Binary XML file line #42: Error inflating class <unknown>
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.view.LayoutInflater.createView(LayoutInflater.java:619)
05-03 20:46:19.634: E/AndroidRuntime(28535): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:666)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:691)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.view.LayoutInflater.rInflate(LayoutInflater.java:752)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
05-03 20:46:19.634: E/AndroidRuntime(28535): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:316)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.app.Activity.setContentView(Activity.java:1924)
05-03 20:46:19.634: E/AndroidRuntime(28535): at com.ics136.colorgame.ColorGame.onCreate(ColorGame.java:22)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.app.Activity.performCreate(Activity.java:5188)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
05-03 20:46:19.634: E/AndroidRuntime(28535): ... 11 more
05-03 20:46:19.634: E/AndroidRuntime(28535): Caused by: java.lang.reflect.InvocationTargetException
05-03 20:46:19.634: E/AndroidRuntime(28535): at java.lang.reflect.Constructor.constructNative(Native Method)
05-03 20:46:19.634: E/AndroidRuntime(28535): at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.view.LayoutInflater.createView(LayoutInflater.java:593)
05-03 20:46:19.634: E/AndroidRuntime(28535): ... 24 more
05-03 20:46:19.634: E/AndroidRuntime(28535): Caused by: java.lang.OutOfMemoryError
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:636)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:484)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:813)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.content.res.Resources.loadDrawable(Resources.java:2277)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.widget.ImageView.<init>(ImageView.java:126)
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.widget.ImageView.<init>(ImageView.java:116)
05-03 20:46:19.634: E/AndroidRuntime(28535): ... 27 more
答案 0 :(得分:1)
根据Logcat
"Caused by: android.view.InflateException: Binary XML file line #42: Error inflating class <unknown>
05-03 20:46:19.634: E/AndroidRuntime(28535): at android.view.LayoutInflater.createView(LayoutInflater.java:619)"
第42行出错。请检查您的XML
答案 1 :(得分:1)
你有OutOfMemoryError
Caused by: java.lang.OutOfMemoryError
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
看起来您正在尝试加载大型位图或其他类似内容,请在layout
处查看第{42行ColorGame
Activity
Unable to start activity ComponentInfo
{com.ics136.colorgame/com.ics136.colorgame.ColorGame}:
android.view.InflateException: Binary XML file line #42: Error inflating class <unknown>
答案 2 :(得分:0)
你有一些例外,比如
Caused by: android.view.InflateException: Binary XML file line #42
Caused by: android.view.InflateException: Binary XML file line #42: Error inflating class <unknown>
Caused by: java.lang.reflect.InvocationTargetException
Caused by: java.lang.OutOfMemoryError
正如@JafarKhQ所说,可能你的图片太大而且正在消耗应用程序的内存预算,请检查ColorGame
中的图片是否过大。
我敢打赌问题是你RelativeLayout
的背景图片,正如你在评论中所说,图像差不多是2Mb,我认为问题就在那里。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
<!-- .... -->
android:background="@drawable/colorgame"
<!-- .... -->
>
尝试缩小图像的大小或将其删除以查找是否存在问题。