我正在创建一个简单的Android应用程序,其中第一个屏幕将向我们显示EditText和Button,在EditText中输入“1234”(不包括引号)然后单击Button,应用程序将转移控件另一项活动。
以下是代码的一部分:
final EditText enterPass;
Button submit;
enterPass = (EditText) findViewById(R.id.password);
submit = (Button) findViewById(R.id.submit);
submit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
String pass = enterPass.getText().toString();
if(pass.contentEquals("1234")){
Intent adder = new Intent("com.example.pointsadder.Adder");
startActivity(adder);
}
}
});
Eclipse根本没有在项目的任何部分显示任何错误,但是当我运行项目时,输入“1234”并单击“提交”,我收到消息:“抱歉。应用程序com .example.adder意外地......“
编辑:这是DDMS的日志报告:
[2012-11-08 15:27:52 - ddms] null
java.lang.NullPointerException
at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213)
at com.android.ddmlib.Client.sendAndConsume(Client.java:575)
at com.android.ddmlib.HandleHello.sendHELO(HandleHello.java:142)
at com.android.ddmlib.HandleHello.sendHelloCommands(HandleHello.java:65)
at com.android.ddmlib.Client.getJdwpPacket(Client.java:672)
at com.android.ddmlib.MonitorThread.processClientActivity(MonitorThread.java:317)
at com.android.ddmlib.MonitorThread.run(MonitorThread.java:263)
答案 0 :(得分:2)
您可以发布日志输出吗?我要尝试的第一件事就是将pass.contentEquals("1234")
改为pass.equals("1234")
还试试:
Intent adder = new Intent(Password.this, Adder.class);
答案 1 :(得分:0)
你应该试试这个:
if(pass.equals("1234")){
Intent adder = new Intent("com.example.pointsadder.Adder");
startActivity(adder);
}
或者,如果您使用不区分大小写的密码,则可以将.equals
替换为.equalsIgnoreCase
。
另外,你应该像这样声明你的意图:
Intent adder = new Intent(Password.this, Adder.class);
startActivity(adder);
答案 2 :(得分:0)
You should try this:
final EditText enterPass;
Button submit;
enterPass = (EditText) findViewById(R.id.password);
submit = (Button) findViewById(R.id.submit);
submit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
String pass = enterPass.getText().toString().trim();
if(pass.equals("1234")){
Intent adder = new Intent(PresentActivity.this,SecondActivity.class);
startActivity(adder);
}
}
});
并且不要忘记在清单文件中提到SecondActivity
答案 3 :(得分:0)
试试这个
pass.equalsIgnoreCase("1234");
这可能有用。 同时用下面的
更改意图syntexIntent adder = new Intent(*currentActivity*.this,Adder.class);
startActivity(adder);
在 manifest
文件中添加Adder活动。