我无法理解其中的问题在哪里,并且无法执行该应用程序
进一步说明他们是我的代码
CODE: PASS1: -
public class Pass1 extends Activity {
EditText pno=(EditText)findViewById(R.id.editText1);
Button btn=(Button)findViewById(R.id.button1);
String pn=pno.getText().toString();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pass1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(pn.charAt(0)=='9' || pn.charAt(0)=='8' || pn.charAt(0)=='7')
{
if (pno.getText().toString().length()==10)
{
Intent i= new Intent(Pass1.this, Pass2.class);
i.putExtra("phoneno", pn);
startActivity(i);
}
}
else
pno.setError("The entered number is invalid!!");
}
});
}
}
PASS2: -
public class Pass2 extends Activity {
EditText codetxt=(EditText)findViewById(R.id.editText1);
String ph=codetxt.getText().toString();
Button codebtn=(Button)findViewById(R.id.button1);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent i = getIntent();
final String phn = i.getStringExtra("phoneno");
setContentView(R.layout.activity_pass2);
codebtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(ph.charAt(0)==phn.charAt(0) && ph.charAt(1)==phn.charAt(5) && ph.charAt(2)==phn.charAt(4) && ph.charAt(3)==phn.charAt(9))
{
if( codetxt.getText().toString().length()==4)
{
//code.setError("right number");
Intent i=new Intent(Pass2.this,Pass3.class);
startActivity(i);
}
}
else
codetxt.setError("Entered Code is wrong!");
}
});
}
}
答案 0 :(得分:2)
移动此代码
EditText pno=(EditText)findViewById(R.id.editText1);
Button btn=(Button)findViewById(R.id.button1);
String pn=pno.getText().toString();
在setContentView()行之后的onCreate()里面。对于Pass2也是如此
答案 1 :(得分:0)
在您当前的活动中,创建一个新的意图:
Intent i = new Intent(getApplicationContext(), NewActivity.class);
i.putExtra("new_variable_name","value");
startActivity(i);
然后在新的Activity中,检索这些值:
Bundle extras = getIntent().getExtras();
if (extras != null) {
String value = extras.getString("new_variable_name");
}
在你的情况下
Bundle extras = getIntent().getExtras();
final String phn = extras.getString("phoneno");
答案 2 :(得分:0)
您应该在findViewById()
setContentView()