【问题标题】:What should I use for string resource instead of TextView我应该将什么用于字符串资源而不是 TextView
【发布时间】:2014-10-25 21:57:23
【问题描述】:

如果我这样做:

TextView coppertv = (TextView) findViewById(R.string.copper);

我没有收到任何错误,但是每当我尝试使用 .setText() 更改字符串时,它都会给我一个异常告诉我

Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

我想知道我应该使用什么来代替 TextView 作为字符串资源。我试过了

String mystring = getResources().getString(R.string.mystring);

正如另一个线程上的某人所建议的那样,但我不能使用 .setText();

【问题讨论】:

    标签: android string textview


    【解决方案1】:

    你应该通过它的 id 找到你的 TextView。

    TextView coppertv = (TextView) findViewById(R.id.copper);
    

    而不是

    TextView coppertv = (TextView) findViewById(R.string.copper);
    

    【讨论】:

    • 它在 string.xml 文件中,而不是 activity_main.xml 所以据我所知它没有那种 id。
    • @Tertles 您不应该将 textviews 放在您的 strings.xml 中。您只使用您的 strings.xml 文件来声明字符串值。您永远不应将 Strings.xml 文件设置为视图。将您的 textview 放入您的 activity_main.xml,为其分配一个 id 并使用我提供的代码。
    • 我的意思是我在activity_main.xml 文件中使用了@string/copper。我会接受你的建议并改变它,谢谢。
    猜你喜欢
    • 2012-08-20
    • 1970-01-01
    • 2012-05-12
    • 2014-05-09
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 2012-11-19
    • 2016-05-23
    相关资源
    最近更新 更多