2013-09-24 60 views
0

嗨,我是一個在android編碼的業餘愛好者,但我設法得到了這麼多,但想出了一個相對簡單的問題, 第一個屏幕我插入一些文本,然後打印到下一個屏幕還有一些按鈕,我至今只定義了其中一個的意圖, 它用來顯示第二個活動,然後強制關閉,當我點擊第二個活動時的按鈕,但現在它甚至無法獲得第二個活動。我想要的只是第一個顯示下一個活動的按鈕,然後打開單獨的活動,任何人都可以告訴我我哪裏出錯了?我沒有錯誤,爲什麼我的應用程序強制關閉?

bathactviity.java

package com.example.myapplication; 


import android.os.Bundle; 
import android.app.Activity; 
import android.widget.Button; 

public class bathactivity extends Activity { 
Button button; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_bath); 
    button = (Button)findViewById(R.id.nextbutton); 




    } 



} 

activity_bath.xml

<LinearLayout 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android"> 

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="55dp" 
    android:text="@string/bath" 
    android:id="@+id/bath_text_View" 
    android:textSize="20sp" 
    android:gravity="center" 
    android:textStyle="italic" /> 

<ImageView 
    android:contentDescription="@string/bath" 
    android:layout_width="match_parent" 
    android:layout_height="404dp" 
    android:id="@+id/imageView" 
    android:layout_gravity="center" 
    android:src="@drawable/getdressedimg" /> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/next" 
    android:id="@+id/nextbutton" 
    android:textSize="20sp" 
    android:textStyle="bold|italic" 
    android:layout_gravity="center" /> 
</LinearLayout> 



secondactivity.java 

package com.example.myapplication; 

import android.content.Intent; 
import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.widget.Button; 
import android.widget.TextView; 

public class secondactivity extends Activity { 
TextView t; 
Button button; 
Button button2; 
Button button3; 
Button button4; 






@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_second); 
    t = (TextView)findViewById(R.id.textView3); 
    String n = this.getIntent().getStringExtra("NAMEDATA"); 
    t.setText(n); 
    button = (Button)findViewById(R.id.button); 
    button2 = (Button)findViewById(R.id.button2); 
    button3 = (Button)findViewById(R.id.button3); 
    button4 = (Button)findViewById(R.id.button4); 

    setButtonOnClickListener(); 

    } 


    private void setButtonOnClickListener(){ 
    Intent intent = new Intent(getApplicationContext(), bathactivity.class); 
    startActivity(intent); 
} 






@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.second, menu); 
    return true; 
} 

} 

不認爲它是一個明顯的問題,但爲了以防萬一

android manifest 

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.myapplication" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="7" 
    android:targetSdkVersion="18" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.myapplication.main" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name="com.example.myapplication.secondactivity" 
     android:label="@string/title_activity_second" > 
    </activity> 
    <activity 
     android:name="com.example.myapplication.bathactivity" 
     android:label="@string/title_activity_bath" > 
    </activity> 

    </application> 

    </manifest> 

這不能成爲你的要求是logcat的它?

09-24 23:35:55.286 9460-9460/com.example.myapplication I/dalvikvm-heap﹕ Grow heap (frag case) to 10.498MB for 6860716-byte allocation 
09-24 23:35:55.546 9460-9460/com.example.myapplication I/dalvikvm-heap﹕ Grow heap (frag case) to 22.127MB for 12196816-byte allocation 
09-24 23:35:55.716 9460-9460/com.example.myapplication E/﹕ file /data/data/com.nvidia.NvCPLSvc/files/driverlist.txt: not found! 
09-24 23:35:55.716 9460-9460/com.example.myapplication I/﹕ Attempting to load EGL implementation /system/lib//egl/libEGL_tegra_impl 
09-24 23:35:55.736 9460-9460/com.example.myapplication I/﹕ Loaded EGL implementation /system/lib//egl/libEGL_tegra_impl 
09-24 23:35:55.796 9460-9460/com.example.myapplication I/﹕ Loading GLESv2 implementation /system/lib//egl/libGLESv2_tegra_impl 
09-24 23:36:01.116 9460-9460/com.example.myapplication W/Editor﹕ GetLabel fail! Do framework orig behavior 
09-24 23:36:05.191 9460-9460/com.example.myapplication I/dalvikvm-heap﹕ Grow heap (frag case) to 38.710MB for 24023056-byte allocation 
09-24 23:36:05.471 9460-9460/com.example.myapplication I/dalvikvm-heap﹕ Forcing collection of SoftReferences for 42701840-byte allocation 
09-24 23:36:05.496 9460-9460/com.example.myapplication E/dalvikvm-heap﹕ Out of memory on a 42701840-byte allocation. 
09-24 23:36:05.496 9460-9460/com.example.myapplication I/dalvikvm﹕ "main" prio=5 tid=1 RUNNABLE 
09-24 23:36:05.496 9460-9460/com.example.myapplication I/dalvikvm﹕ | group="main" sCount=0 dsCount=0 obj=0x41bf5538 self=0x40cff010 
09-24 23:36:05.496 9460-9460/com.example.myapplication I/dalvikvm﹕ | sysTid=9460 nice=0 sched=0/0 cgrp=apps handle=1075005484 
09-24 23:36:05.496 9460-9460/com.example.myapplication I/dalvikvm﹕ | schedstat=(1258665000 280174000 1050) utm=92 stm=33 core=3 
09-24 23:36:05.496 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 
09-24 23:36:05.501 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:626) 
09-24 23:36:05.501 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:473) 
09-24 23:36:05.506 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:781) 
09-24 23:36:05.506 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.content.res.Resources.loadDrawable(Resources.java:1959) 
09-24 23:36:05.506 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 
09-24 23:36:05.506 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.widget.ImageView.<init>(ImageView.java:120) 
09-24 23:36:05.506 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.widget.ImageView.<init>(ImageView.java:110) 
09-24 23:36:05.506 9460-9460/com.example.myapplication I/dalvikvm﹕ at java.lang.reflect.Constructor.constructNative(Native Method) 
09-24 23:36:05.506 9460-9460/com.example.myapplication I/dalvikvm﹕ at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
09-24 23:36:05.511 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.view.LayoutInflater.createView(LayoutInflater.java:587) 
09-24 23:36:05.511 9460-9460/com.example.myapplication I/dalvikvm﹕ at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
09-24 23:36:05.511 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660) 
09-24 23:36:05.511 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) 
09-24 23:36:05.511 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
09-24 23:36:05.511 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
09-24 23:36:05.511 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
09-24 23:36:05.511 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
09-24 23:36:05.511 9460-9460/com.example.myapplication I/dalvikvm﹕ at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:365) 
09-24 23:36:05.516 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.app.Activity.setContentView(Activity.java:1912) 
09-24 23:36:05.521 9460-9460/com.example.myapplication I/dalvikvm﹕ at com.example.myapplication.bathactivity.onCreate(bathactivity.java:14) 
09-24 23:36:05.521 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.app.Activity.performCreate(Activity.java:5066) 
09-24 23:36:05.521 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1101) 
09-24 23:36:05.521 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307) 
09-24 23:36:05.521 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
09-24 23:36:05.521 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.app.ActivityThread.access$600(ActivityThread.java:151) 
09-24 23:36:05.521 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1331) 
09-24 23:36:05.521 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.os.Handler.dispatchMessage(Handler.java:99) 
09-24 23:36:05.521 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.os.Looper.loop(Looper.java:155) 
09-24 23:36:05.521 9460-9460/com.example.myapplication I/dalvikvm﹕ at android.app.ActivityThread.main(ActivityThread.java:5485) 
09-24 23:36:05.521 9460-9460/com.example.myapplication I/dalvikvm﹕ at java.lang.reflect.Method.invokeNative(Native Method) 
09-24 23:36:05.521 9460-9460/com.example.myapplication I/dalvikvm﹕ at java.lang.reflect.Method.invoke(Method.java:511) 
09-24 23:36:05.521 9460-9460/com.example.myapplication I/dalvikvm﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028) 
09-24 23:36:05.521 9460-9460/com.example.myapplication I/dalvikvm﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795) 
09-24 23:36:05.521 9460-9460/com.example.myapplication I/dalvikvm﹕ at dalvik.system.NativeStart.main(Native Method) 
09-24 23:36:05.521 9460-9460/com.example.myapplication I/dalvikvm﹕ [ 09-24 23:36:05.521 9460: 9460 E/dalvikvm ] 
     Out of memory: Heap Size=47011KB, Allocated=38523KB, Limit=65536KB 
09-24 23:36:05.521 9460-9460/com.example.myapplication E/dalvikvm﹕ Extra info: Footprint=46947KB, Allowed Footprint=47011KB, Trimmed=1472KB 
09-24 23:36:05.521 9460-9460/com.example.myapplication D/skia﹕ --- Unable to allocate space, reportSizeToVM = true 
09-24 23:36:05.526 9460-9460/com.example.myapplication W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41bf42d0) 
09-24 23:36:05.531 9460-9460/com.example.myapplication E/AndroidRuntime﹕ FATAL EXCEPTION: main 
     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapplication/com.example.myapplication.bathactivity}: android.view.InflateException: Binary XML file line #16: Error inflating class <unknown> 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2351) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
     at android.app.ActivityThread.access$600(ActivityThread.java:151) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1331) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:155) 
     at android.app.ActivityThread.main(ActivityThread.java:5485) 
     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:1028) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795) 
     at dalvik.system.NativeStart.main(Native Method) 
     Caused by: android.view.InflateException: Binary XML file line #16: Error inflating class <unknown> 
     at android.view.LayoutInflater.createView(LayoutInflater.java:613) 
     at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
     at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660) 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
     at  com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:365) 
     at android.app.Activity.setContentView(Activity.java:1912) 
     at com.example.myapplication.bathactivity.onCreate(bathactivity.java:14) 
     at android.app.Activity.performCreate(Activity.java:5066) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1101) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307) 
     ... 11 more 
     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:587) 
     ... 24 more 
     Caused by: java.lang.OutOfMemoryError: (Heap Size=47011KB, Allocated=38523KB) 
     at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 
     at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:626) 
     at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:473) 
     at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:781) 
     at android.content.res.Resources.loadDrawable(Resources.java:1959) 
     at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 
     at android.widget.ImageView.<init>(ImageView.java:120) 
     at android.widget.ImageView.<init>(ImageView.java:110) 
     ... 27 more 

這是我的錯誤嗎?

D/skia﹕ --- Unable to allocate space, reportSizeToVM = true 09-24 23:36:05.526 
9460-9460/com.example.myapplication W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41bf42d0) 09-24 23:36:05.531 
9460-9460/com.example.myapplication E/AndroidRuntime﹕ FATAL EXCEPTION: main 
java.lang.RuntimeException: Unable to start activity 
ComponentInfo{com.example.myapplication/com.example.myapplication.bathactivity}: 
+2

Android將不顯示的典型錯誤信息上面的代碼。相反,錯誤記錄到[LogCat](http://developer.android.com/tools/help/logcat.html)。這是追蹤錯誤的寶貴資源。有很多方法可以查看logcat:Eclipse和Android Studio都包含查看器,您還可以使用命令提示符/終端中的'adb logcat'。這通常會指示導致力量關閉的線路 - 問題可能在其他地方發生,但這會給您一個起點。 – free3dom

回答

4

Out of memory on a 42701840-byte allocation. 這看起來像一個內存問題,當您嘗試加載android:src="@drawable/getdressedimg"您ImageView的。圖像有多大?如果它太大,則需要縮小以匹配ImageView的高度和寬度。檢查this page如何做到這一點。

+0

這是問題所在。他的src圖像太大了。 – edthethird

+0

@prijupaul將閱讀並試圖讓我的頭附近非常感謝你的鏈接:-) – martinseal1987

0

你沒有提到作爲默認的battcivity。像這樣:

<activity 
     android:name=".Bathactivity" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait" > 
     <intent-filter> 
      <action android:name="com.example.myapplication.BATHACTIVITY" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 

複製並粘貼在清單的.xml代替

<activity 
    android:name="com.example.myapplication.secondactivity" 
    android:label="@string/title_activity_second" > 
</activity> 
<activity 
    android:name="com.example.myapplication.bathactivity" 
    android:label="@string/title_activity_bath" > 
</activity> 
+0

已經把這個在謝謝你,但仍然同樣力量關閉 – martinseal1987

相關問題