Delimitar valores usando string

bem pessoal eu to fazendo uma pequena aplicação pra android e tive um probleminha na hora de delimitar alguns valore. O que quero dizer com isso? No meu código, vamos dizer, que eu quero fazer um se: se valor for maior que 25 e menor que 30 (por exemplo), vai executar alguma ação que no caso uma msg na tela, por exemplo tbm. O problema é que eu n to conseguindo fazer isso, pois a minha aplicação recebe valores adicionada pelo usuário no EditText faz um calculo e me retorna um resultado desse calculo, que no caso é o valor que eu quero delimitar e esses valores adicionados pelo usuário são strings por se tratar de um EditText. Gostaria de saber se alguém pode me ajudar agradeço desde já.

Aqui é a classe que estou fazendo isso.

[code]package projetomedida.com.br;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class CriaTabela extends Activity {
EditText peso, altura, imc;
TextView texto;
double num1, num2;
String resultado;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.criatab);
peso = (EditText)findViewById(R.id.Peso);
altura = (EditText)findViewById(R.id.Altura);
imc = (EditText)findViewById(R.id.imc);
texto = (TextView)findViewById(R.id.text1);
texto.setEnabled(false);
}

public void converter (View v){
	 num1 = Double.parseDouble(peso.getText().toString());
	 num2 = Double.parseDouble(altura.getText().toString());
	 resultado = String.valueOf((num1/(num2*num2)));
	 imc.setText(resultado);
	
	if(resultado != "20" && resultado != "21" && resultado != "22" && resultado != "23" && resultado != "24" && resultado != "25" && resultado != "26" && resultado != "27" && resultado != "28" && resultado != "29" && resultado != "30"){
       texto.setEnabled(true);
	}
	
}


public void voltar(View v){
Intent menu = new Intent (this, Menu.class);
startActivity(menu);
finish();
}

}[/code]

Não é mais fácil trabalhar diretamente com o double?double resultado = num1/(num2*num2); if(resultado < 20 || resultado > 30){ texto.setEnabled(true); }

Bom dia.

Você não precisa deste seu if, ao menos não da forma que o escreveu, se deseja valores diferentes de 20 ~ 30, basta limitar valores < 20 || >30.

No método converter, você converte para um double, mas depois converte pra String novamente.

[quote=edu_fernandes]Bom dia.

Você não precisa deste seu if, ao menos não da forma que o escreveu, se deseja valores diferentes de 20 ~ 30, basta limitar valores < 20 && >30.

No método converter, você converte para um double, mas depois converte pra String novamente.[/quote]
Só um detalhe na condição, um número < 20 && > 30 não existe.

[quote=Rodrigo Sasaki][quote=edu_fernandes]Bom dia.

Você não precisa deste seu if, ao menos não da forma que o escreveu, se deseja valores diferentes de 20 ~ 30, basta limitar valores < 20 && >30.

No método converter, você converte para um double, mas depois converte pra String novamente.[/quote]
Só um detalhe na condição, um número < 20 && > 30 não existe.[/quote]

Concordo plenamente com você.

deu erro na hora de mostrar o valor calculado no EditText

como faço pra poder mostrar o valor calculado ?

[quote=Valdir Ramos]deu erro na hora de mostrar o valor calculado no EditText

como faço pra poder mostrar o valor calculado ?[/quote]

Aí sim você formata, converte pra String, faz o que quiser pra mostrar pro usuário.

acho que na hora que ele escreveu ele escreveu errado, o numero é > 20 && <30

Se essa é a condição que você quer, então a culpa não é dele, a sua condição anterior que estava errada. :slight_smile:

Relaxa, eu que escrevi errado a fórmula. Acontece. :wink:

na minha primeira condição eu só coloquei pra que ele fosse diferente de 20 21 22 23 24 25 26 27 28 29 30. Mas na explicação que dei na abertura do falei que ele era > que 25 && < 30, por exemplo.

então alguém sabe como faço pra mostrar o valor calculado no EditText, dessa forma ?

ele fica dando erro nessa linha de código

[quote=Valdir Ramos]então alguém sabe como faço pra mostrar o valor calculado no EditText, dessa forma ?

[/quote]ele fica dando erro nessa linha de código
Você leu minha última resposta a essa mesma pergunta?

como faço pra fazer o TextView fica invisível ao invés de usar o:

[code]texto.setEnabled(false);

[quote=Valdir Ramos]como faço pra fazer o TextView fica invisível ao invés de usar o:

[code]texto.setEnabled(false);[/quote]

Bom, isso aí acho que já é dúvida pra um outro tópico, e abra ele com um título específico pras pessoas saberem que se trata de android, vai ser muito mais fácil alguém que entende do assunto vir te ajudar :slight_smile: