单击按钮发送到webview

时间:2015-06-17 14:01:50

标签: android

在android中我想在同一个on-create方法上使用多个按钮。 1st将传递给另一个活动,第二个传递给webview.1。一个工作正常但是当我点击第二个按钮时,应用程序停止工作。

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)

3 个答案:

答案 0 :(得分:0)

在您的Android清单文件中声明活动。此外,如果您没有给予Interner权限,请添加这些行。

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

答案 1 :(得分:0)

请仔细阅读logcat ActivityNotFoundException:您是否已在AndroidManifest.xml中声明此活动?

将该活动声明到您的清单文件中

答案 2 :(得分:0)

我已从清单中删除了活动,然后再次添加。这次我没有直接编写XML。相反,我转到Application > Application nodes > add,选择活动,然后浏览文件来源。

这对我有用。 谢谢大家的回复。