我是 Android 开发新手,我想了解 TextView.setText 方法的工作原理。在此示例中,
private TrueFalse[] mQuestionBank = new TrueFalse[]
{
new TrueFalse(R.string.question_oceans, true),
new TrueFalse(R.string.question_mideast, false),
new TrueFalse(R.string.question_africa, false),
};
private int mCurrentIndex = 0;
mQuestionTextView = (TextView) findViewById(R.id.question_text_view);
int question = mQuestionBank[mCurrentIndex].getQuestion();
mQuestionTextView.setText(question);
我不明白的一点是 setText 如何仅通过获取 int 来返回问题文本? int 怎么可能足够呢?你能向我解释一下吗?谢谢。
最佳答案
这里的int,是string.xml中定义的String值的id。因此 textView.setText(int resid) 获取字符串值,然后在内部设置。
这是TextView的源代码。
public final void setText(CharSequence text) {
setText(text, mBufferType);
}
// So this get string value from resources and use the above setText().
public final void setText(int resid) {
setText(getContext().getResources().getText(resid));
}
您可以避免从资源中获取字符串值并使代码更简单。
关于java - Android 中的 TextView.setText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30734556/