如何在Android上显示字符串?

时间:2015-04-30 16:07:24

标签: java android string android-studio

编辑,结果发现XML Viewer 不是模拟器,并且实际上并没有运行代码。

所以,我正在Android Studio 1.1.0中开始我的第一个应用程序,我意识到我甚至无法显示一个字符串(在java文件中创建)。

我做了所有可能的研究,但无论我复制/粘贴什么代码片段,它都无法正常工作。

我尝试从第一个答案复制/粘贴代码片段:Android Eclipse: Change the text in the app to a string created withing the program但它不起作用。 findViewById方法为红色,my_text_view也是如此:

String displaythisgoddammit = "display this goddammit";
    private TextView text = (TextView) findViewById(R.id.my_text_view);
    text.setText(displaythisgoddammit);

我的textview(在activity_main.xml中)是:

 <TextView
    android:id="@+id/my_text_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/displaythisgoddammit"/>

无论我做什么,它都找不到字符串。显然我必须把它放在strings.xml文件中,但是我该怎么编辑它?在我链接的问题中,代码片段显然适用于java文件中的字符串。

这是我的主文件(我不确定它是否真的相关,它只是我复制/粘贴的代码片段):http://pastebin.com/7uuHyJWP我把字符串放在第144行,我应该把它放在其他地方吗?

请帮忙吗?我已经研究了5个小时但没有尝试过的解决方案......

3 个答案:

答案 0 :(得分:4)

使用

时,代码出现问题
TextView text = (TextView) findViewById(id.my_text_view);

它正在发生,因为当您通过它定义TextView或任何其他对象时,您需要使用R.id.my_text_view。

因此,要修复它,只需将其更改为

即可
TextView text = (TextView) findViewById(R.id.my_text_view);

答案 1 :(得分:2)

在您的代码中,请检查您正在进行的TextView的引用。

应为findViewById(R.id.my_text_view);

答案 2 :(得分:0)

你应该检查一些事情:

  • 在方法中,您不应该使用单词select a.order_num, a.shipment_num, case when a.shipment_num = ( select min(b.shipment_num) from order_table b where b.order_num = a.order_num ) then max(a.shipment_charges) else '0' end from order_table a group by order_num, shipment_num order by order_num, shipment_num ,因为您没有定义类级变量。
  • 您需要在ID之前使用private,以表示您正在检索资源。
  • 您需要确保文本视图位于activity_main.xml。

除了所有这些,你的pastebin文件中有很多错误的东西,我强烈建议你不要只复制和粘贴代码,因为它永远不会那么简单。

您需要删除不属于类级别的所有访问修饰符,并清理这样的代码段:

R.

整个地方都有括号和半冒号,更不用说这个代码是在返回语句之后写的,所以你甚至不会碰到这行代码。

注意

我发现的其他错误:

  • String contentAsString; public void onCreate;(Bundle savedInstanceState;) { setContentView(R.layout.main); super.onCreate(savedInstanceState); txtView=(TextView)findViewById(R.id.my_text_view); txtwidth = (TextView)findViewById(R.id.viewwidth); hello="This is my first project"; mybtn.setOnClickListener(this); txtView.setText(hello);} 后面有一个额外的结束括号,这会导致一些编译错误。
  • 您在DownloadWebpageTask
  • 中两次覆盖onCreate
  • 看起来你遇到麻烦的代码应该在onCreate里面。

换句话说,尝试类似this的内容。

  • 此外,在你的XML中你有HTTPExample行,@ string基本上是说你想要得到字符串&#39; displayThis&#39;来自strings.xml。如果你没有,或者不想显示这个&#39;在strings.xml中,您需要删除该属性,并以编程方式设置文本。