Android: Imageview показывает изображение в соответствии с опцией edittext - PullRequest
1 голос
/ 03 июня 2011

У меня есть 10 изображений животных в моей папке res / drawable, и я хочу показать изображения одно за другим в соответствии с параметрами редактирования текста. Я имею в виду в тексте редактирования, когда мы вводим наш вес, в соответствии с диапазоном веса (если вес находится между 60-70, изображение показывает тигра) для каждого веса Изображение показывает различное животное (согласно диапазону) с различными звуками. Поскольку я новичок в Android, я не смог решить эту проблему, как мы можем реализовать это? Любая идея?

Помощь всегда ценится ....!

Ответы [ 2 ]

2 голосов
/ 03 июня 2011
ImageView imgAnimal = (ImageView)findViewById(R.id.image_animal);
EditText editWeight = (EditText)findViewById(R.id.edit_weight);
try {
    // get the weight, will throw an exception if
    // the EditText doesn't contain a valid integer
    int weight = Integer.parseInt(editWeight.getText().toString());
    // if you reach this, the conversion was successful, but you might want to
    // check for negative values, or values too small / too big and warn the user
    // if you want to change the image based on a range,
    // the only way is to use chained if's
    if (weight >= 60 && weight <= 70)
        imgAnimal.setImageResource(R.drawable.tiger);
    else if (weight > 70 && weight <= 80)
        imgAnimal.setImageResource(R.drawable.some_animal);
    // and so on...
} catch (NumberFormatException nfe) {
    // the EditText does not contain a number, warn the user or something
}
2 голосов
/ 03 июня 2011

Согласно вашему значению Edittext, вы можете передать это значение в функцию ниже

private void displayImg(int value){
    ImageView im = (ImageView)findViewById(R.id.img1);
    if (value >= 0 && value < 10){
        im.setBackgroundResource(R.drawable.animal1);
    }else if (value >=10 && value <20){
        im.setBackgroundResource(R.drawable.animal2);
    }
            ..... so on...
}
...