setText仅打印资源ID,但不打印实际文本

时间:2014-06-09 18:45:31

标签: java android settext

我有以下代码。我试图让TextView显示"问题1:你叫什么名字?" (存储在String文件中的问题文本字符串),但现在显示"问题1:2131362201"。我该如何解决? 谢谢!

AnswerList.java

public class AnswerList {
   private int mQuestion;
       private int mAnswer;

   public AnswerList(int question, int answer){
      mQuestion = question;
      mAnswer = answer;
   }
}

public int getQuestion() {
    return mQuestion;
}

Main.java

private AnswerList[] mQuestionBank = new AnswerList[] {
   new AnswerList(R.string.question1, R.string.answer1)
}

.....

int question = mQuestionBank[0].getQuestion();
mQuestionTextView.setText("Question 1:" + question);

2 个答案:

答案 0 :(得分:1)

getQuestion()会返回int,因此您应该会看到id。为了显示与id相关联的字符串资源,您需要使用getString()(例如Context)致电Activity

String question = getString(mQuestionBAnk[0].getQuestion());

答案 1 :(得分:0)

您正在尝试将字符串放入整数变量中,因此您将获得整数值(id)而不是字符串。

更改

int question = mQuestionBank[0].getQuestion();

String question = mQuestionBank[0].getQuestion();