Я хочу создать интерфейс регистрации и входа. Сначала введите правильный номер счета и пароль в формате регистрации в интерфейсе регистрации и сохраните 10 наборов номеров счетов и паролей в общих настройках, используя int idpwi и switch соответственно. Затем в интерфейсе входа в систему введите определите, правильный ли пароль учетной записи. Похоже, что в интерфейсе регистрации не возникает ошибка, когда я нажимаю на publi c void gameindexpage при нажатии в интерфейсе входа в систему. Ошибка Вот мой код
интерфейс регистрации
public class Signup extends AppCompatActivity {
private Button esignupbtn , ebackloginmenu ;
private EditText esignid , esignpw , esignpw2 ;
private TextView esignmessage ;
private String signidstring , signpwstring , signpw2string ;
private int idpwi ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signup);
esignupbtn = (Button)findViewById(R.id.esignupbtn);
ebackloginmenu = (Button)findViewById(R.id.ebackloginmenu);
esignid = (EditText)findViewById(R.id.esignid);
esignpw = (EditText)findViewById(R.id.esignpw);
esignpw2 = (EditText)findViewById(R.id. esignpw2);
esignmessage = (TextView)findViewById(R.id.esignmessage);
}
public void backmain(View v){
Intent itbackmain = new Intent(Signup.this , MainActivity.class);
startActivity(itbackmain);
}
public void esignup(View v){
signidstring = esignid.getText().toString();
signpwstring = esignpw.getText().toString();
signpw2string = esignpw2.getText().toString();
if(signidstring.length() != 0 && signpwstring.length() != 0 && signpw2string.length() !=0 && signpwstring.equals(signpw2string)){
SharedPreferences info = getSharedPreferences("Info", MODE_PRIVATE);
idpwi = info.getInt("Idpwi",0);
switch(idpwi) {
case 0:
info.edit()
.putString("ID1", signidstring)
.commit();
info.edit()
.putString("PW1", signpwstring)
.commit();
break;
case 1:
info.edit()
.putString("ID2", signidstring)
.commit();
info.edit()
.putString("PW2", signpwstring)
.commit();
break;
case 2:
info.edit()
.putString("ID3", signidstring)
.commit();
info.edit()
.putString("PW3", signpwstring)
.commit();
break;
case 3:
info.edit()
.putString("ID4", signidstring)
.commit();
info.edit()
.putString("PW4", signpwstring)
.commit();
break;
case 4:
info.edit()
.putString("ID5", signidstring)
.commit();
info.edit()
.putString("PW5", signpwstring)
.commit();
break;
case 5:
info.edit()
.putString("ID6", signidstring)
.commit();
info.edit()
.putString("PW6", signpwstring)
.commit();
break;
case 6:
info.edit()
.putString("ID7", signidstring)
.commit();
info.edit()
.putString("PW7", signpwstring)
.commit();
break;
case 7:
info.edit()
.putString("ID8", signidstring)
.commit();
info.edit()
.putString("PW8", signpwstring)
.commit();
break;
case 8:
info.edit()
.putString("ID9", signidstring)
.commit();
info.edit()
.putString("PW9", signpwstring)
.commit();
break;
case 9:
info.edit()
.putString("ID10", signidstring)
.commit();
info.edit()
.putString("PW10", signpwstring)
.commit();
break;
}
idpwi++;
info.edit().putInt("Idpwi",idpwi).commit();
Toast t = Toast.makeText(Signup.this,"已成功註冊", Toast.LENGTH_LONG);
t.show();
Intent itbundle = new Intent(this, MainActivity.class);
startActivity(itbundle);
}else{
Toast f = Toast.makeText(Signup.this,"註冊失敗,輸入錯誤", Toast.LENGTH_LONG);
f.show();
}
}
}
интерфейс входа
public class MainActivity extends AppCompatActivity {
private Button loginbtn , signupbtn , aboutgamebtn ;
private EditText loginid , loginpw ;
private String getid , getpw ;
private String[] takeid = new String[11];
private String[] takepw = new String[11];
private int idi , pwi ;
private int getidpwi;
private String esignid, esignpw ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
loginbtn = (Button)findViewById(R.id.loginbtn);
signupbtn = (Button)findViewById(R.id.signupbtn);
aboutgamebtn = (Button)findViewById(R.id.aboutgamebtn);
loginid = (EditText)findViewById(R.id.loginid);
loginpw = (EditText)findViewById(R.id.loginpw);
}
public void aboutgamepage(View v){
Intent itaboutgame = new Intent(MainActivity.this , aboutgame.class);
startActivity(itaboutgame);
}
public void signuppage(View v){
Intent itsignup = new Intent(MainActivity.this , Signup.class);
startActivity(itsignup);
}
public void gameindexpage(View v){
getid = loginid.getText().toString();
getpw = loginpw.getText().toString();
SharedPreferences info = getSharedPreferences("Info", MODE_PRIVATE);
takeid[1] = info.getString("ID1", "NULL");
takepw[1] = info.getString("PW1", "NULL");
takeid[2] = info.getString("ID2", "NULL");
takepw[2] = info.getString("PW2", "NULL");
takeid[3] = info.getString("ID3", "NULL");
takepw[3] = info.getString("PW3", "NULL");
takeid[4] = info.getString("ID4", "NULL");
takepw[4] = info.getString("PW4", "NULL");
takeid[5] = info.getString("ID5", "NULL");
takepw[5] = info.getString("PW5", "NULL");
takeid[6] = info.getString("ID6", "NULL");
takepw[6] = info.getString("PW6", "NULL");
takeid[7] = info.getString("ID7", "NULL");
takepw[7] = info.getString("PW7", "NULL");
takeid[8] = info.getString("ID8", "NULL");
takepw[8] = info.getString("PW8", "NULL");
takeid[9] = info.getString("ID9", "NULL");
takepw[9] = info.getString("PW9", "NULL");
takeid[10] = info.getString("ID10", "NULL");
takepw[10] = info.getString("PW10", "NULL");
for(int i=1;i<=10;i++){
if(getid.equals(takeid[i])){
idi=i;
}
if(getpw.equals(takepw[i])){
pwi=i;
}
}
if(getid.length() != 0 && getpw.length() != 0){
if(idi==pwi){
Toast lt = Toast.makeText(MainActivity.this,"登入成功", Toast.LENGTH_LONG);
lt.show();
Intent itgameindex = new Intent(MainActivity.this , gameindex.class);
startActivity(itgameindex);
}else{
Toast lf = Toast.makeText(MainActivity.this,"賬號或密碼錯誤", Toast.LENGTH_LONG);
lf.show();
}
}
}
}