Кнопка не работает только тогда, когда текст двух полей EditText совпадает.Android

Форум для тех, кто программирует под Android
Anonymous
Кнопка не работает только тогда, когда текст двух полей EditText совпадает.

Сообщение Anonymous »

Я создаю приложение, и в этом макете я показываю 2 EditText, когда пользователь щелкает любой из них, отображается всплывающее меню, а когда он щелкает элемент всплывающего меню, он устанавливает текст редактирования текста в тот же текст элемента, на который он щелкнул. Эта часть работает. Но у меня есть кнопка, которая выполняет определенные действия, но я просто проверял эту кнопку, чтобы проверить, работает ли она, но когда я нажимаю кнопку, ничего не происходит. Я не знаю, почему. Вот код:

Код: Выделить всё

public class horariosMenu extends Activity implements PopupMenu.OnMenuItemClickListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_horarios_menu);

Button buttonProcurar = (Button) findViewById(R.id.buttonProcurar);
final EditText deTextPartida = (EditText) findViewById(R.id.deText);
final EditText paraTextDestino = (EditText) findViewById(R.id.paraText);
buttonProcurar.setOnClickListener(
new Button.OnClickListener(){
@Override
public void onClick(View v) {
verifica(deTextPartida.getText().toString(), paraTextDestino.getText().toString());
}
}
);
}

public void showPopUp(View view){
PopupMenu popupMenu = new PopupMenu(this, view);
popupMenu.setOnMenuItemClickListener(horariosMenu.this);
MenuInflater menuInflater = popupMenu.getMenuInflater();
menuInflater.inflate(R.menu.popup_menu_locais, popupMenu.getMenu());
popupMenu.show();
}

public void showPopUpMenu_Para(View view){
PopupMenu popupMenuPara = new PopupMenu(this, view);
popupMenuPara.setOnMenuItemClickListener(horariosMenu.this);
MenuInflater menuinflaterPara = popupMenuPara.getMenuInflater();
menuinflaterPara.inflate(R.menu.popup_menu_locais_para, popupMenuPara.getMenu());
popupMenuPara.show();
}

@Override
public boolean onMenuItemClick(MenuItem item) {
EditText deText = (EditText) findViewById(R.id.deText);
EditText paraText = (EditText) findViewById(R.id.paraText);
switch(item.getItemId()){
case R.id.id_Coimbra:
deText.setText("Coimbra", null);
return true;
case R.id.id_SJoao:
deText.setText("S. Joao", null);
return true;
case R.id.id_SSilvestre:
deText.setText("S. Silvestre", null);
return true;
case R.id.id_SMartinho:
deText.setText("S. Martinho", null);
return true;
case R.id.id_Tentugal:
deText.setText("Tentugal", null);
return true;
case R.id.id_Carapinheira:
deText.setText("Carapinheira", null);
return true;
case R.id.id_Montemor:
deText.setText("Montemor", null);
return true;
case R.id.id_Maiorca:
deText.setText("Maiorca", null);
return true;
case R.id.id_Figueira:
deText.setText("Figueira da Foz", null);
return true;
//EDIT TEXT "PARA":
case R.id.id_Coimbra_Para:
paraText.setText("Coimbra", null);
return true;
case R.id.id_SJoao_Para:
paraText.setText("S. Joao", null);
return true;
case R.id.id_SSilvestre_Para:
paraText.setText("S. Silvestre", null);
return true;
case R.id.id_SMartinho_Para:
paraText.setText("S.  Martinho", null);
return true;
case R.id.id_Tentugal_Para:
paraText.setText("Tentugal", null);
return true;
case R.id.id_Carapinheira_Para:
paraText.setText("Carapinheira", null);
return true;
case R.id.id_Montemor_Para:
paraText.setText("Montemor", null);
return true;
case R.id.id_Maiorca_Para:
paraText.setText("Maiorca", null);
return true;
case R.id.id_Figueira_Para:
paraText.setText("Figueira da Foz", null);
return true;
}
return false;
}

public void verifica(String a, String b) {
if (a == b) {
Toast.makeText(getBaseContext(), "Partida e destino nao podem ser iguais, escolha de novo!", Toast.LENGTH_LONG);
}
}
}
Предполагается, что кнопки будут работать, по крайней мере, на данный момент, только если текст обоих EditText одинаков. Вот почему я вызываю функцию verifica(String, String), и когда я тестирую, я ставлю обе одинаковые, и она не работает.
Вы можете проверить, что происходит?

Вернуться в «Android»