#android
#Android
Вопрос:
Я хочу создать статический тест в своей аутентификации, но когда я нажимаю на кнопку «Valider», ничего не происходит, вместо этого, когда я удаляю условие «if» и нажимаю на кнопку «valider», запускается следующее действие. Я думаю, что есть проблема, когда я ставлю условие для тестирования, но я не знаю, в чем оно. Можете ли вы помочь? Спасибо
public class TabAdmin extends Activity implements View.OnClickListener{
private EditText username;
private EditText password;
public String user_name;
public String pass_word;
private Button valider;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.authen);
username = (EditText) findViewById(R.id.login);
password = (EditText) findViewById(R.id.pwd);
valider = (Button) findViewById(R.id.valider);
valider.setOnClickListener((OnClickListener) this);
}
public void onClick(View v) {
if (v == valider) {
user_name = username.getText().toString();
pass_word = password.getText().toString();
if((user_name=="admin")amp;amp;(pass_word=="admin"))
{
Intent goToNextActivity = new Intent(getApplicationContext(), MenuAdmin.class);
startActivity(goToNextActivity);
}
}
}
Ответ №1:
попробуйте использовать if (v.equals(valider))
вместо if (v == valider)
Ответ №2:
Во-первых, способ сравнения строк не подходит для Java. Попробуйте
if ("admin".equals(user_name) amp;amp; "admin".equals(pass_word)) {
Однако это не самый лучший способ создания паролей, поскольку любой может прочитать строки из APK.
Ответ №3:
вместо
if((user_name=="admin")amp;amp;(pass_word=="admin"))
использовать
if((user_name.equals("admin"))amp;amp;(pass_word.equals("admin")))
Я надеюсь, что это может помочь вам