2012-05-18 64 views
0

因此我试图在成功登录后从主活动启动WebView活动。主要的活动是这样的:重定向到Android中的webview活动

   try { 

       response = CustomHttpClient.executeHttpPost("http://192.168.1.101/adddrop/login.php", postParameters); 

       Log.v(LOG_TAG," PostParameters = " +postParameters.toString()); 

       String res=response.toString(); 
       res= res.replaceAll("\\s+",""); 

       Log.v(LOG_TAG," response value = " +res); 


       if(res.equals("1")){ 

        Intent myIntent = new Intent(v.getContext(), Registration.class); 
        startActivity(myIntent); 

        //error.setText("Correct Username or Password"); 
       } 
       else 
        error.setText("Sorry!! Incorrect Username or Password"); 

      } catch (Exception e) { 
       USER.setText(e.toString()); 
      } 

和其他活动的WebView(编辑:这就是所谓Registration.java当我启动它作为一个单独的项目主要活动的正常工作)看起来是这样的:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    mWebView = (WebView) findViewById(R.id.webview); 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.setWebViewClient(new HelloWebViewClient()); 
    mWebView.loadUrl("http://192.168.1.101/adddrop/index2.php"); 
    mWebView.setInitialScale(130); 


} 

private class HelloWebViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
    } 
} 

,这里是在点击登录的logcat的地方我得到debigging成功的响应,但它应该带我去的网页,但其他的应用程序崩溃和关闭:

05-19 12:02:39.394: W/dalvikvm(433): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
05-18 11:24:22.524: E/AndroidRuntime(1094): FATAL EXCEPTION: main 
05-18 11:24:22.524: E/AndroidRuntime(1094): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.login/com.example.login.Registration}: java.lang.NullPointerException 
05-18 11:24:22.524: E/AndroidRuntime(1094):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 
05-18 11:24:22.524: E/AndroidRuntime(1094):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
05-18 11:24:22.524: E/AndroidRuntime(1094):  at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
05-18 11:24:22.524: E/AndroidRuntime(1094):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
05-18 11:24:22.524: E/AndroidRuntime(1094):  at android.os.Handler.dispatchMessage(Handler.java:99) 
05-18 11:24:22.524: E/AndroidRuntime(1094):  at android.os.Looper.loop(Looper.java:123) 
05-18 11:24:22.524: E/AndroidRuntime(1094):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
05-18 11:24:22.524: E/AndroidRuntime(1094):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-18 11:24:22.524: E/AndroidRuntime(1094):  at java.lang.reflect.Method.invoke(Method.java:507) 
05-18 11:24:22.524: E/AndroidRuntime(1094):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
05-18 11:24:22.524: E/AndroidRuntime(1094):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
05-18 11:24:22.524: E/AndroidRuntime(1094):  at dalvik.system.NativeStart.main(Native Method) 
05-18 11:24:22.524: E/AndroidRuntime(1094): Caused by: java.lang.NullPointerException 
05-18 11:24:22.524: E/AndroidRuntime(1094):  at com.example.login.Registration.onCreate(Registration.java:19) 
05-18 11:24:22.524: E/AndroidRuntime(1094):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
05-18 11:24:22.524: E/AndroidRuntime(1094):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 
05-18 11:24:22.524: E/AndroidRuntime(1094):  ... 11 more 
+0

注册似乎是空 – keyser

+0

Registration.java看行... 19 –

+0

删除我的回答,@SamirMangroliya在我完成打字之前在评论中提到了它。 – jjm

回答

1

的网页视图活动应该是这样的:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    WebView mWebView = new WebView(this); 

    //now do whatever u want 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.setWebViewClient(new HelloWebViewClient()); 
    mWebView.loadUrl("http://192.168.1.101/adddrop/index2.php"); 
    mWebView.setInitialScale(130); 

    //finally 
    setContentView(mWebView); 
} 
+0

非常感谢谢里夫这解决了我的问题.. – Jawad

1

您是否在清单文件中添加了您的活动?就像这样:

<activity 
     android:name="your.package.name.Registration" 
     android:label="@string/app_name" > 
    </activity> 

UPDATE

我认为你需要交换的两行的顺序。

来源:

mWebView = (WebView) findViewById(R.id.webview); 
mWebView.getSettings().setJavaScriptEnabled(true); 
mWebView.setWebViewClient(new HelloWebViewClient()); 
mWebView.loadUrl("http://192.168.1.101/adddrop/index2.php"); 
mWebView.setInitialScale(130); 

要:

mWebView = (WebView) findViewById(R.id.webview); 
mWebView.getSettings().setJavaScriptEnabled(true); 
mWebView.loadUrl("http://192.168.1.101/adddrop/index2.php"); 
mWebView.setWebViewClient(new HelloWebViewClient()); 
mWebView.setInitialScale(130); 

而且不要忘了你的清单中添加Internet权限...

<manifest ... > 
<uses-permission android:name="android.permission.INTERNET" /> 
... 
</manifest> 

更新2

更改此:

Intent myIntent = new Intent(v.getContext(), Registration.class); 

到:

Intent myIntent = new Intent(YourActivity.this, Registration.class); 
+0

是的,我做了,它仍然崩溃.. – Jawad

+0

@Jawad请参阅我的更新答案。 – amp

+0

我已经试过这个,logcat给我错误在第20行,其中包含 mWebView.loadUrl(“http://192.168.1.101/adddrop/index2.php”); 请注意,当我单独启动它作为单独项目中的主要活动时,此registration.java类完全正常工作... – Jawad