2014-02-27 187 views
0

谢谢你们!原因比我想象的更简单。我觉得有些徒劳..: - )为什么startActivity会导致崩溃?

我已经在androidmanifest.xml中添加了活动名称。 我的代码很简单。

 Intent intent=new Intent(MainActivity.this, AddAddressActivity.class); 
     intent.putExtra("respond", responsebody); 
     intent.putExtra("userid", txtID.getText().toString()); 
     intent.putExtra("password", txtPW.getText().toString()); 
     MainActivity.this.startActivity(intent);  

就是这样。

为什么在此代码中导致崩溃?我找不到它。 但更奇怪的是,当我使AddAddressActivity像基本模板(源代码在开始制作时)时不会引起崩溃。 然后,是AddAddressActivity有问题吗?

感谢您阅读我的问题。由于我的英文短,你可能会误解它。如果您有难以理解的内容,请发表评论。

这里是Logcat。我找不到原因,本文..

02-28 02:42:53.876: D/dalvikvm(6195): GC_FOR_ALLOC freed 122K, 19% free 9983K/12192K, paused 17ms, total 17ms 
02-28 02:42:53.886: I/dalvikvm-heap(6195): Grow heap (frag case) to 15.536MB for 3936016-byte allocation 
02-28 02:42:53.901: D/dalvikvm(6195): GC_FOR_ALLOC freed <1K, 14% free 13826K/16036K, paused 13ms, total 13ms 
02-28 02:42:54.011: D/dalvikvm(6195): GC_FOR_ALLOC freed <1K, 14% free 13826K/16036K, paused 9ms, total 9ms 
02-28 02:42:54.031: I/dalvikvm-heap(6195): Grow heap (frag case) to 30.549MB for 15744016-byte allocation 
02-28 02:42:54.041: D/dalvikvm(6195): GC_FOR_ALLOC freed 0K, 8% free 29201K/31412K, paused 11ms, total 11ms 
02-28 02:42:54.201: D/libEGL(6195): loaded /system/lib/egl/libEGL_mali.so 
02-28 02:42:54.201: D/libEGL(6195): loaded /system/lib/egl/libGLESv1_CM_mali.so 
02-28 02:42:54.206: D/libEGL(6195): loaded /system/lib/egl/libGLESv2_mali.so 
02-28 02:42:54.211: E/(6195): Device driver API match 
02-28 02:42:54.211: E/(6195): Device driver API version: 23 
02-28 02:42:54.211: E/(6195): User space API version: 23 
02-28 02:42:54.211: E/(6195): mali: REVISION=Linux-r3p2-01rel3 BUILD_DATE=Wed Oct 30 09:36:10 KST 2013 
02-28 02:42:54.276: D/OpenGLRenderer(6195): Enabling debug mode 0 
02-28 02:43:02.696: I/webclipboard(6195): clipservice: [email protected] 
02-28 02:43:02.711: D/AndroidRuntime(6195): Shutting down VM 
02-28 02:43:02.711: W/dalvikvm(6195): threadid=1: thread exiting with uncaught exception (group=0x420ac700) 
02-28 02:43:02.721: E/AndroidRuntime(6195): FATAL EXCEPTION: main 
02-28 02:43:02.721: E/AndroidRuntime(6195): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mcdelivery/com.example.mcdelivery.AddAddressActivity}: java.lang.NullPointerException 
02-28 02:43:02.721: E/AndroidRuntime(6195):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2308) 
02-28 02:43:02.721: E/AndroidRuntime(6195):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2362) 
02-28 02:43:02.721: E/AndroidRuntime(6195):  at android.app.ActivityThread.access$700(ActivityThread.java:168) 
02-28 02:43:02.721: E/AndroidRuntime(6195):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1329) 
02-28 02:43:02.721: E/AndroidRuntime(6195):  at android.os.Handler.dispatchMessage(Handler.java:99) 
02-28 02:43:02.721: E/AndroidRuntime(6195):  at android.os.Looper.loop(Looper.java:137) 
02-28 02:43:02.721: E/AndroidRuntime(6195):  at android.app.ActivityThread.main(ActivityThread.java:5493) 
02-28 02:43:02.721: E/AndroidRuntime(6195):  at java.lang.reflect.Method.invokeNative(Native Method) 
02-28 02:43:02.721: E/AndroidRuntime(6195):  at java.lang.reflect.Method.invoke(Method.java:525) 
02-28 02:43:02.721: E/AndroidRuntime(6195):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1209) 
02-28 02:43:02.721: E/AndroidRuntime(6195):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1025) 
02-28 02:43:02.721: E/AndroidRuntime(6195):  at dalvik.system.NativeStart.main(Native Method) 
02-28 02:43:02.721: E/AndroidRuntime(6195): Caused by: java.lang.NullPointerException 
02-28 02:43:02.721: E/AndroidRuntime(6195):  at com.example.mcdelivery.AddAddressActivity.onCreate(AddAddressActivity.java:18) 
02-28 02:43:02.721: E/AndroidRuntime(6195):  at android.app.Activity.performCreate(Activity.java:5372) 
02-28 02:43:02.721: E/AndroidRuntime(6195):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104) 
02-28 02:43:02.721: E/AndroidRuntime(6195):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270) 
02-28 02:43:02.721: E/AndroidRuntime(6195):  ... 11 more 
02-28 02:43:02.751: V/webkit(6195): BrowserFrame constructor: this=Handler (android.webkit.BrowserFrame) {4419b1f0} 

AddAddressActivity.java

package com.example.mcdelivery; 
import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.webkit.WebView; 

public class AddAddressActivity extends Activity { 
    WebView webview; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_addaddress); 

     //https://www.mcdelivery.co.kr/kr/jsp/sys/customerLogin.do?userName=gms04246%40gmail.com&password=Psjssin7943P&imgLogin.x=0&imgLogin.y=0 
     Intent intent=new Intent(this.getIntent()); 
     webview.loadUrl("https://www.mcdelivery.co.kr/kr/jsp/sys/customerLogin.do?userName=" + intent.getStringExtra("username") + "&password=" + intent.getStringExtra("password") + "&imgLogin.x=0&imgLogin.y=0"); 
    } 

} 
+2

请发表您的logcat输出 – 2014-02-27 17:32:47

+0

你创建AddAddressActivity正确(在该行之前和之后setContentView())? –

+0

发布您的logcat。它有助于快速了解错误 –

回答

0

你只宣布WebView没有初始化它

setContentView(R.layout.activity_addaddress); 
webview =(WebView)findViewById(R.id.webView); //missing 
Intent intent= getIntent(); 
webview.loadUrl("https://www.mcdelivery.co.kr/kr/jsp/sys/customerLogin.do?userName=" + intent.getStringExtra("username") + "&password=" + intent.getStringExtra("password") + "&imgLogin.x=0&imgLogin.y=0"); 
+0

谢谢!我觉得有些无用:' - ) – Ux5

0

我想从一个坏的处理属于您的应用程序上下文的这是。

更换

Intent intent=new Intent(MainActivity.this, AddAddressActivity.class);

Intent intent=new Intent(this, AddAddressActivity.class);

+0

这没有什么区别 –

+0

我还看到在LogCat中有一个“增长堆(碎片大小写)为30.550MB”,您是否正在执行大量内存加载? – fiipi

+0

如果上下文来自内部类,则需要MainActivity.this。但是没有任何区别,这里真正的问题是某个地方是空的。 –

1

webView给出了此行

webview.loadUrl("https://www.mcdelivery.co.kr/kr/jsp/sys/customerLogin.do?userName=" + intent.getStringExtra("username") + "&password=" + intent.getStringExtra("password") + "&imgLogin.x=0&imgLogin.y=0"); 

一个NPE因为你还没有初始化它。你只把它声明

WebView webview; 

某处你需要初始化它

相关问题