0

初心者です、助けてください。私は困惑している。データベースを使用して画像を呼び出したいのですが、方法がわかりません。私を助けてください。私のアプローチはこれです。テキストビューも変化しているときに、イメージビューのイメージを自動的に変更したい

        String question = Utility.capitalise(currentQ.getQuestion());
        TextView qImg = (TextView) findViewById(R.id.question);
        qImg.setText(question);
        ImageView yes = (ImageView) findViewById(R.id.imageQuestions);

        if (qImg.equals("aso"))
            // yes = R.drawable.aso;
            yes.setBackgroundResource(R.drawable.aso);

        else if (qImg.equals("Pusa"))
            yes.setBackgroundResource(R.drawable.pusa);
        else if (qImg.equals("Daga"))
            yes.setBackgroundResource(R.drawable.daga);

question はデータベース内の私の質問です。それはただのテキストです。質問が変わると、イメージも変わります。

4

1 に答える 1

1

さて、TextView のテキストが変更されるたびに、ImageView の内容を変更したいと思います。よくわからないので、間違っていたら教えてください。

あなたが投稿したコードから、これは一度だけ実行されるようです。代わりに、これを次のようなメソッドに移動する必要があります。

public void updateImages() {
    String question = Utility.capitalise(currentQ.getQuestion());
    TextView qImg = (TextView) findViewById(R.id.question);
    qImg.setText(question);
    ImageView yes = (ImageView) findViewById(R.id.imageQuestions);

    if (qImg.equals("aso"))
        yes.setBackgroundResource(R.drawable.aso);
    else if (qImg.equals("Pusa"))
        yes.setBackgroundResource(R.drawable.pusa);
    else if (qImg.equals("Daga"))
        yes.setBackgroundResource(R.drawable.daga);
}

TextViewupdateImages()を呼び出すたびに、すぐに呼び出すだけです。setText()

TextWatcher を TextView に割り当てることもできます。

qImg.addTextChangedListener(new TextWatcher(){
    public void afterTextChanged(Editable s) {}
    public void beforeTextChanged(CharSequence s, int start, int count, int after){}
    public void onTextChanged(CharSequence s, int start, int before, int count){
        YourActivity.this.updateImages();
    }
}); 
于 2013-03-28T14:18:32.650 に答える