在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)
答案 0 :(得分:0)
在您的Android清单文件中声明活动。此外,如果您没有给予Interner权限,请添加这些行。
<uses-permission android:name="android.permission.INTERNET" />
答案 1 :(得分:0)
请仔细阅读logcat ActivityNotFoundException:您是否已在AndroidManifest.xml中声明此活动?
将该活动声明到您的清单文件中
答案 2 :(得分:0)
我已从清单中删除了活动,然后再次添加。这次我没有直接编写XML。相反,我转到Application > Application nodes > add
,选择活动,然后浏览文件来源。
这对我有用。 谢谢大家的回复。