android的登陆页面跳转,就是我输入用户名和密码后,点登陆跳转到下一个界面,没有什么返回值的,就是用户名和密码对了点登陆就到下一个界面,但我运行之后,点登陆之后,程序就强行退出了,求助!!
下面是我的代码package com.inteltimes.activity;import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;public class test3 extends Activity {
EditText userid;
EditText pwd;
Button btnLogin; public static final int REQ_CODE_1 = 1;
public static final int REQ_CODE_2 = 2; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); btnLogin = (Button) findViewById(R.id.button1);
pwd = (EditText) findViewById(R.id.EditText01);
userid = (EditText) findViewById(R.id.editText1); btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (userid.getText().toString().equals("a")
&& pwd.getText().toString().equals("123")) {
Intent it = new Intent(test3.this, second.class);
it.putExtra("userid", userid.getText().toString());
startActivityForResult(it, REQ_CODE_1);
} else {
Intent it = new Intent(test3.this,
test3.class);
startActivityForResult(it, REQ_CODE_2);
} } }); } @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case REQ_CODE_1: // 成功屏幕返回
userid.setText("");
pwd.setText("");
Bundle bundle = data.getExtras();
String res = bundle.getString("resultcode");
Log.v("second", res);
break;
case REQ_CODE_2:
pwd.setText("");
}
}
下面是我的代码package com.inteltimes.activity;import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;public class test3 extends Activity {
EditText userid;
EditText pwd;
Button btnLogin; public static final int REQ_CODE_1 = 1;
public static final int REQ_CODE_2 = 2; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); btnLogin = (Button) findViewById(R.id.button1);
pwd = (EditText) findViewById(R.id.EditText01);
userid = (EditText) findViewById(R.id.editText1); btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (userid.getText().toString().equals("a")
&& pwd.getText().toString().equals("123")) {
Intent it = new Intent(test3.this, second.class);
it.putExtra("userid", userid.getText().toString());
startActivityForResult(it, REQ_CODE_1);
} else {
Intent it = new Intent(test3.this,
test3.class);
startActivityForResult(it, REQ_CODE_2);
} } }); } @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case REQ_CODE_1: // 成功屏幕返回
userid.setText("");
pwd.setText("");
Bundle bundle = data.getExtras();
String res = bundle.getString("resultcode");
Log.v("second", res);
break;
case REQ_CODE_2:
pwd.setText("");
}
}
2、onActivityResult方法的intent最好判断下是否为空
不会dubug
Intent it = new Intent(test3.this,test3.class);这句不是调用intent跳转么?没他 还怎么用呢?
和
startActivityForResult(it, REQ_CODE_2);
换成
test3.this.startActivityForResult(it, REQ_CODE_1);
和
test3.this.startActivityForResult(it, REQ_CODE_2);
没有错误,能运行,到android上,点登陆就直接强制退出了
</activity>是这个么?
</activity>
不是test3么,怎么又成了second了??
还有贴log出来
不然大家都只能猜你的代码
这个second是跳转后的页面名字。。
secon.java
package com.inteltimes.activity;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;public class second extends Activity {
ImageButton IbtnBack;
ImageButton IbtnOk;
ImageButton IbtnCancel;
TextView tx1; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
tx1 = (TextView) findViewById(R.id.textView1);
Bundle bundle = this.getIntent().getExtras();
String userid = bundle.getString("userid");
tx1.setText(userid); IbtnOk = (ImageButton) findViewById(R.id.imageButton3);
IbtnOk.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent data = new Intent();
data.putExtra("resultcode", "ok");
setResult(1, data);
second.this.finish();
}
});
IbtnCancel = (ImageButton) findViewById(R.id.imageButton4);
IbtnCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent data = new Intent();
data.putExtra("resultcode", "cancel");
setResult(2, data);
second.this.finish();
}
});
IbtnBack = (ImageButton) findViewById(R.id.imageButton3);
IbtnBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// setResult(4,(new Intent)).putExtra("name",tx1.getText()).toString());
second.this.finish();
}
});
Ibtn10 = (ImageButton) findViewById(R.id.imageButton2);
Ibtn10.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent data = new Intent();
data.putExtra("resultcode", "10");
setResult(2, data);
second.this.finish();
}
});
Ibtn11 = (ImageButton) findViewById(R.id.imageButton3);
Ibtn11.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent data = new Intent();
data.putExtra("resultcode", "11");
setResult(2, data);
second.this.finish();
}
});
}
}这个是second页的代码,就是跳转后要进入的那个面,
之前贴的是起始页,登陆到这个页面的
...要是会就不问了
之前做过登陆的,同样的代码,除了跳转界面的名字,button的id不同,其他的都一样
到这里就是不行
Ibtn10.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent data = new Intent();
data.putExtra("resultcode", "10");
setResult(2, data);
second.this.finish();
}
});
Ibtn11 = (ImageButton) findViewById(R.id.imageButton3);
Ibtn11.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent data = new Intent();
data.putExtra("resultcode", "11");
setResult(2, data);
second.this.finish();
}
});
这俩不用管我这面基本上都是imagebutton,代码都重复的
</activity>
Intent it = new Intent(test3.this,test3.class);这句好像是错的,因该是
Intent it = new Intent(test3.this,second.class);
我这里不用传数据,就是点击button进入到下一个页面