Я хочу что-то создать, если я напечатаю например «abc» в TextField
, он откроет активность. если я набираю что-то еще, я не хочу, чтобы он открыл активность. Я уже что-то сделал, он работает в первый раз (это неправильно, если вы не ввели действительный ввод и он открывает страницу, если вы введете «abc». Я хочу, чтобы эта система с несколькими вариантами использовала «abc» и «abc», БББ». он работает в первый раз, но если я вернуться назад и ввести что-то еще он открывает ту же страницу, что и с первой попытки. Возможно, я должен отключить OnClickListener
, но как?Снимите onClickListener после нажатия кнопки
это мой MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button button = (Button) findViewById(R.id.button1);
final EditText textedit = (EditText) findViewById(R.id.editText1);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if ("abc".equals(textedit.getText().toString()))
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent (MainActivity.this, Schoen1.class);
startActivity(intent);
}
});
if ("bbb".equals(textedit.getText().toString()))
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent (MainActivity.this, Schoen2.class);
startActivity(i);
}
});
else
button.setText("wrong pass");
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
"Schoen1" и "Schoen2" мои страницы, чтобы открыть. Спасибо!
Проверьте мой ответ. Это должно быть все, что вам нужно. Вам просто нужно переместить свои операторы 'if' внутри вашего' onClick' и нет необходимости в дополнительном 'listener' – codeMagic