2015-06-17 69 views
-2

在android中我想要在同一個創建方法上使用多個按鈕。 1st將傳遞給另一個活動,第二個傳遞給webview.1第一個工作正常但是,當我單擊第二個按鈕時,應用程序停止工作。發送到webview使用按鈕點擊

SelectService.java 

package qcash.bd.qcashwallet; 

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

public class SelectService extends Activity { 

    Button btnrecharge; 
    Button btnFundTransfer; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_select_service); 

     Button btnrecharge = (Button) findViewById(R.id.btnRecharge); 
     Button btnFundTransfer=(Button)findViewById(R.id.btnFundTransfer); 

     btnrecharge.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent intentMain = new Intent(getApplicationContext(), 
         SelectOperator.class); 
       startActivity(intentMain); 
       Toast.makeText(getApplicationContext(), "Recharge", 
         Toast.LENGTH_SHORT).show(); 
      } 
     }); 
     btnFundTransfer.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent myIntent = new Intent(SelectService.this, WebViewPtoP.class); 
       startActivity(myIntent); 

      } 
     }); 
    } 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.action_bar_menu, menu); 
    return true; 
    } 
} 

WebViewPtoP.java

package qcash.bd.qcashwallet; 

import android.app.Activity; 
import android.webkit.WebView; 
import android.webkit.SslErrorHandler; 
import android.webkit.WebViewClient; 
import android.net.http.SslError; 
import android.os.Bundle; 


public class WebViewPtoP extends Activity { 


    private WebView mWebView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_webview_ptop); 

    // *********************Webview**************************** 
     mWebView = (WebView) findViewById(R.id.webViewPtoP); 
     mWebView.getSettings().setJavaScriptEnabled(true); 
     mWebView.getSettings().setDomStorageEnabled(true); 
     mWebView.loadUrl("http://27.147.128.98/bl_apps/welcome/P2P_Transfer_initiate?u_name=rocky"); 
    // mWebView.setWebViewClient(new WebViewClient()); 

     mWebView.setWebViewClient(new WebViewClient() { 

      @Override 
      public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error) { 
       handler.proceed(); 
      } 
     }); 


    } 



    } 

錯誤日誌:

06-17 10:11:41.422: E/AndroidRuntime(3088): FATAL EXCEPTION: main 
06-17 10:11:41.422: E/AndroidRuntime(3088): Process: qcash.bd.qcashwallet, PID: 3088 
06-17 10:11:41.422: E/AndroidRuntime(3088): android.content.ActivityNotFoundException: Unable to find explicit activity class {qcash.bd.qcashwallet/qcash.bd.qcashwallet.WebViewPtoP}; have you declared this activity in your AndroidManifest.xml? 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628) 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424) 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at android.app.Activity.startActivityForResult(Activity.java:3423) 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at android.app.Activity.startActivityForResult(Activity.java:3384) 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at android.app.Activity.startActivity(Activity.java:3626) 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at android.app.Activity.startActivity(Activity.java:3594) 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at qcash.bd.qcashwallet.SelectService$2.onClick(SelectService.java:40) 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at android.view.View.performClick(View.java:4424) 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at android.view.View$PerformClick.run(View.java:18383) 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at android.os.Handler.handleCallback(Handler.java:733) 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at android.os.Handler.dispatchMessage(Handler.java:95) 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at android.os.Looper.loop(Looper.java:137) 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at android.app.ActivityThread.main(ActivityThread.java:4998) 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at java.lang.reflect.Method.invoke(Method.java:515) 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777) 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593) 
06-17 10:11:41.422: E/AndroidRuntime(3088):  at dalvik.system.NativeStart.main(Native Method) 
+0

什麼是錯誤日誌,你會得到什麼? – Prabhuraj

+0

我附上了錯誤日誌。請檢查。 –

回答

0

聲明活動在你的Android清單文件。另外,如果您尚未授予Interner權限,請添加這些行。

​​
+0

我已經完成了這兩個。 '<使用的許可機器人:名稱= 「android.permission.INTERNET對」/>' '<活動 機器人:名稱= 「qcash.bd.qcashwallet.SelectService」 機器人:標籤=「@串/ APP_NAME 「> ' 和 '<活動 機器人:名字=」 qcash.bd.qcashwallet.WebviewPtoP」 機器人:標籤= 「@字符串/ APP_NAME」> ' –

+0

一個瘋狂的事情,我建議是使緩存無效並重新啓動您的Android Studio,或者重新啓動Eclipse。這有時可以解決問題。 – Prabhuraj

0

請仔細閱讀logcat的ActivityNotFoundException:你宣佈你的AndroidManifest.xml這個活動?

聲明該活動到您的清單文件

+0

是的我已經宣佈已經 –

+0

如果你仍然遇到應用程序崩潰檢查logcat的問題,併發布在這裏 – Abhijeet

0

我從清單中刪除的活動,然後重新添加。這次我沒有直接寫XML。相反,我去Application > Application nodes > add,選擇活動,然後瀏覽文件來源。

這對我有效。 謝謝大家回覆。