我的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
答案 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
。