Android TextView显示内存参考

时间:2013-03-08 14:29:44

标签: android android-layout textview

我的android应用程序中有一个文本视图,它似乎显示某种内存引用,而不是我设置它显示的字符串资源。它看起来与尝试使用java中的默认toString打印数组时发生的情况相同。任何试图发现错误的帮助都将是一个很大的帮助。我将在下面发布代码片段:

XML布局

<TextView
    android:id="@+id/summary_name_heading"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="40dp"
    android:layout_marginTop="20dp"
    android:background="@color/secondary"
    android:textColor="@color/text"
    android:textSize="22sp" />

字符串资源

  <string name="summary_name_heading_text">Song : </string>

代码

TextView nameHeading = (TextView)findViewById(R.id.summary_name_heading);
nameHeading.setText(R.string.summary_name_heading_text);

这是它在屏幕上显示的内容:

android.widget.TextView@417e0528

2 个答案:

答案 0 :(得分:0)

你必须传递你想要显示的TextView字符串的setText方法。如果您传递TextView的实例,则会调用toString()的{​​{1}}方法。

答案 1 :(得分:0)

不确定您在活动中做了什么,但这是从TextView获取数据的方式。

TextView tv = (TextView) findViewById(R.id.summary_name_heading);
String myText = tv.getText();

myText现在有你想要的文字。

<强>更新: -

在您的活动中设置String

String mystring = getResources().getString(R.string.summary_name_heading_string);
tv.setText(mystring);

但是,正如 A-C 建议的那样,尝试清理项目并更改Id的字符串名称和TextView