-1
When you type 0 or 1 of Edittext is to enter IF and does not enter.
private TextView nome1;
private TextView nome2;
private EditText vitoria;
private Button salvar;
private TextView primeiroLugar;
private TextView segundoLugar;
private TextView terceiroLugar;
int tamanho;
Integer maiorValor = 0;
int soma = 1;
int k = 0;
int j = 1;
int m = 0;
int n = 2;
//CONTAGEM DOS PONTOS DE CADA JOGADOR
//int cont = nomesAuxiliares.size();
ArrayList<Integer> contador = new ArrayList<>();
ArrayList<String> nomesAuxiliares = new ArrayList<>();
public void compararNomes(int k, int j) {
String aux1 = vitoria.getText().toString();
//int num = Integer.parseInt(aux1);
if(k != j || j > k) {
if(k < nomesAuxiliares.size()) {
if(j < nomesAuxiliares.size()) {
nome1.setText(nomesAuxiliares.get(k));
nome2.setText(nomesAuxiliares.get(j));
if(aux1.equals("0")) {
int cont = contador.get(k) + 1;
contador.remove(k);
contador.add(k, cont);
primeiroLugar.setText(String.valueOf(contador.get(k)));
}
else if(aux1.equals("1")) {
int cont2 = contador.get(j) + 1;
contador.remove(j);
contador.add(j, cont2);
primeiroLugar.setText(String.valueOf(contador.get(j)));
}
}
}
}
while(k == j || j < k) {
j++;
if(k != j || j > k) {
if(k < nomesAuxiliares.size()) {
if(j < nomesAuxiliares.size()) {
nome1.setText(nomesAuxiliares.get(k));
nome2.setText(nomesAuxiliares.get(j));
if(aux1.equals("0")) {
int cont = contador.get(k) + 1;
contador.remove(k);
contador.add(k, cont);
primeiroLugar.setText(String.valueOf(contador.get(k)));
}
else if(aux1.equals("1")) {
int cont2 = contador.get(j) + 1;
contador.remove(j);
contador.add(j, cont2);
primeiroLugar.setText(String.valueOf(contador.get(j)));
}
}
}
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_terceira_tela);
//listaAuxiliar = findViewById(R.id.IdListaAuxiliar);
nome1 = findViewById(R.id.IdNome1);
nome2 = findViewById(R.id.IdNome2);
vitoria = findViewById(R.id.IdVitoria);
salvar = findViewById(R.id.IdSalvar);
primeiroLugar = findViewById(R.id.IdPrimeiro);
segundoLugar = findViewById(R.id.IdSegundo);
terceiroLugar = findViewById(R.id.IdTerceiro);
Bundle extras = getIntent().getExtras();
if(extras != null) {
nomesAuxiliares = extras.getStringArrayList("jogadores");
ArrayAdapter<String> adaptador2 = new ArrayAdapter<>(
getApplicationContext(),
android.R.layout.simple_list_item_1,
android.R.id.text1,
nomesAuxiliares
);
//listaAuxiliar.setAdapter(adaptador2);
}
for(int s = 0; s < nomesAuxiliares.size(); s++) {
contador.add(s, 0);
}
if(j > k) {
nome1.setText(nomesAuxiliares.get(k));
nome2.setText(nomesAuxiliares.get(j));
String aux = vitoria.getText().toString();
int num = Integer.parseInt(aux);
if(num == 0) {
int cont = contador.get(k) + 1;
contador.remove(k);
contador.add(k, cont);
primeiroLugar.setText(String.valueOf(contador.get(k)));
}
else if(num == 1) {
int cont2 = contador.get(j) + 1;
contador.remove(j);
contador.add(j, cont2);
primeiroLugar.setText(String.valueOf(contador.get(j)));
}
}
else if(j <= k) {
}
k = 0;
j = 2;
//k = 0;
//j = 1;
//compararNomes(k, j);
//TODOS CONTRA TODOS: logica como vai funcionar o jogo (vai aparecer na terceira tela)
salvar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
vitoria.setText("");
if(k == (nomesAuxiliares.size() - 1)) {
/*for(int m = 0; m < contador.size(); m++) {
if(contador.get(m) == null) {
//contador.add(m, 0);
}
}*/
for(Integer valor: contador) {
if(valor > maiorValor) {
maiorValor = valor;
}
}
//primeiroLugar.setText(String.valueOf(maiorValor));
}
compararNomes(k, j);
j++;
if(j == nomesAuxiliares.size()) {
k++;
j = k + ((j - j) + 1);
}
}
})
}
}
Hello! Welcome to Sopt. You need to provide more information about your problem, where you try to do it and how. Do this here
– Ivan Silva
It would be in the part of the AUX variable (taking the Edittext value) and then compare in the IF to enter into the loop.
– user145228
if(Aux1.equals("0")) { int cont = counter.get(k) + 1; counter.remove(k); counter.add(k, cont); first place.setText(String.valueOf(counter.get(k)); } Else if(Aux1.equals("1")) { int cont2 = counter.get(j) + 1; counter.remove(j); counter.add(j, cont2); first place.setText(String.valueOf(counter.get(j)); }
– user145228
When you click 0 in editText and compare in the IF is not entering the loop.
– user145228
Have you debugged? Have you tried transforming this string you receive in edittext into an integer? If so
– Murillo Comino
I’ve done it and give error the App
– user145228
What mistake it makes??
– Murillo Comino
I tried turning to integer: String aux = vitoria.gettext(). toString(); int num = Integer.parseint(aux); But error the App (closes the App)
– user145228
the part you have has "if (num == 0)" and "Else if (num == 1). Are you passing? Because I believe that the part is null.
– Murillo Comino
Not passing, I put so String aux = vitoria.gettext(). toString(); int num = Integer.parseint(aux); "if(num == 0) and Else if(num == 1)", but does not enter if when the user writes to Edittext 0 or 1
– user145228
I found possible 2 errors in the code, I’ll try to fix it here and send you the first one is that when you initialize the layout edittext is null, so you can’t recover this value like this, the other error I saw this here: vitoria.setText(""); You undo edittext and then call compare Men, it will never fall into condition even. I’ll try to set it up here.
– Murillo Comino
Okay, thank you. I’ll wait
– user145228