Android 单击imagebutton调用其他活动时出错
我需要紧急援助, 我想在单击“ffp”imagebutton时转到另一个活动,但每次单击该按钮,我都会得到一个错误,我应该怎么做,除了调用该按钮之外,一切都正常。如果我应该使用AsynchTask,那么如何使用? 我的布局XML文件没有错误我检查了好几次,我在下面提供我的登录活动和清单:Android 单击imagebutton调用其他活动时出错,android,Android,我需要紧急援助, 我想在单击“ffp”imagebutton时转到另一个活动,但每次单击该按钮,我都会得到一个错误,我应该怎么做,除了调用该按钮之外,一切都正常。如果我应该使用AsynchTask,那么如何使用? 我的布局XML文件没有错误我检查了好几次,我在下面提供我的登录活动和清单: package com.aminmousavi.safetransaction; import android.os.Bundle; import android.app.Activity; import a
package com.aminmousavi.safetransaction;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
import android.os.StrictMode;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
public class LoginActivity extends Activity {
private static final String SOAP_ACTION = "urn:safewsdl#loginuser";
private static final String METHOD_NAME = "loginuser";
private static final String NAMESPACE = "urn:safewsdl";
private static final String URL = "http://10.0.2.2/WebServiceSOAP/webs.php";
SoapObject request;
SoapSerializationEnvelope envelope;
HttpTransportSE httpTransport;
Object response;
StrictMode.ThreadPolicy policy;
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.login);
if (android.os.Build.VERSION.SDK_INT > 9) {
policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
Button btnLogin = (Button) findViewById(R.id.btnLogin);
btnLogin.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
EditText emailet = (EditText)findViewById(R.id.emailet);
EditText passet = (EditText) findViewById(R.id.passet);
request = new SoapObject(NAMESPACE, METHOD_NAME);
//SoapObject
request.addProperty("email", emailet.getText().toString());
request.addProperty("password", passet.getText().toString());
envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
httpTransport = new HttpTransportSE(URL);
try
{
httpTransport.call(SOAP_ACTION, envelope);
response = envelope.getResponse();
Toast.makeText(getBaseContext(), response.toString(), Toast.LENGTH_LONG).show();
}
catch (Exception exception)
{
Toast.makeText(getBaseContext(), exception.toString(), Toast.LENGTH_LONG).show();
}
}
});
TextView registerScreen = (TextView) findViewById(R.id.link_to_register);
// Listening to register new account link
registerScreen.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//Switching to Register screen
Intent i = new Intent(getApplicationContext(), RegisterActivity.class);
startActivity(i);
}
});
ImageButton ffp = (ImageButton) findViewById(R.id.fingerp);
ffp.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try{
startActivity(new Intent("com.aminmousavi.SecondActivity"));
}
catch(Exception e){
e.printStackTrace();
Log.d("AppErorr", e.getMessage());
Toast.makeText(getBaseContext(), "Error", Toast.LENGTH_LONG).show();
}
}
});
}
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.aminmousavi.safetransaction"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.aminmousavi.safetransaction.LoginActivity"
android:label="Login to your Account" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- Entry for RegisterActivity.class -->
<activity android:name=".RegisterActivity"
android:label="Register New Account">
</activity>
<!-- Entry for FiongerprintActivity.class -->
<activity android:name=".SecondActivity"
android:label="Second Activity">
</activity>
</application>
package com.amimousavi.safetransaction;
导入android.os.Bundle;
导入android.app.Activity;
导入android.content.Intent;
导入android.util.Log;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.ImageButton;
导入android.widget.TextView;
导入android.widget.Toast;
导入android.os.StrictMode;
导入org.ksoap2.SoapEnvelope;
导入org.ksoap2.serialization.SoapObject;
导入org.ksoap2.serialization.SoapSerializationEnvelope;
导入org.ksoap2.transport.HttpTransportSE;
公共类LoginActivity扩展了活动{
私有静态最终字符串SOAP_ACTION=“urn:safewsdl#loginuser”;
私有静态最终字符串方法\u NAME=“loginuser”;
私有静态最终字符串NAMESPACE=“urn:safewsdl”;
私有静态最终字符串URL=”http://10.0.2.2/WebServiceSOAP/webs.php";
SoapObject请求;
信封;
httpTransport-httpTransport;
目标反应;
StrictMode.ThreadPolicy策略;
@凌驾
创建时受保护的空隙(捆绑冰柱){
超级冰柱;
setContentView(R.layout.login);
如果(android.os.Build.VERSION.SDK_INT>9){
policy=new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(策略);
}
按钮btnLogin=(按钮)findViewById(R.id.btnLogin);
btnLogin.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
EditText emailet=(EditText)findViewById(R.id.emailet);
EditText密码=(EditText)findViewById(R.id.passet);
请求=新的SoapObject(名称空间、方法名称);
//SoapObject
request.addProperty(“email”,emailet.getText().toString());
request.addProperty(“password”,passet.getText().toString());
信封=新的SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(请求);
httpTransport=新的HttpTransportSE(URL);
尝试
{
调用(SOAP_操作,信封);
response=envelope.getResponse();
Toast.makeText(getBaseContext(),response.toString(),Toast.LENGTH_LONG).show();
}
捕获(异常)
{
Toast.makeText(getBaseContext(),exception.toString(),Toast.LENGTH_LONG.show();
}
}
});
TextView注册表屏幕=(TextView)findViewById(R.id.link\u to\u注册表);
//正在侦听注册新帐户链接
registerScreen.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
//切换到寄存器屏幕
Intent i=新Intent(getApplicationContext(),RegisterActivity.class);
星触觉(i);
}
});
ImageButton ffp=(ImageButton)findViewById(R.id.fingerp);
setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
试一试{
startActivity(新意图(“com.aminmousavi.SecondActivity”);
}
捕获(例外e){
e、 printStackTrace();
Log.d(“apperor”,e.getMessage());
Toast.makeText(getBaseContext(),“Error”,Toast.LENGTH_LONG.show();
}
}
});
}
}
试试:
startActivity(new Intent(LoginActivity.this, SecondActivity.class));
而不是:
startActivity(new Intent("com.aminmousavi.SecondActivity"));
为我工作:
startActivity(新意图)(LoginActivity.this、,
com.amimousavi.SecondActivity.class))
如果包含堆栈跟踪,这将非常有用。大多数情况下,堆栈跟踪都包含关键信息来告诉您问题所在。请粘贴错误日志。