2012-05-18 5 views
0

의 webview 활동으로 리디렉션되므로 성공적인 로그인시 주요 활동에서 WebView 활동을 시작하려고합니다.android

   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()); 
      } 

과 다른 활동 웹뷰 (편집 : 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; 
    } 
} 

여기에 내가 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

등록 라인을 참조 Registration.java – keyser

+0

null이 될 것으로 보인다 ... 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

대단히 Sherif이 내 문제를 해결해 주셔서 감사합니다 .. Logged – 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); 

그리고 매니페스트에 인터넷 권한을 추가하는 것을 잊지 마세요 ...

<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