Java 如何在Android上显示字符串?

Java 如何在Android上显示字符串?,java,android,string,android-studio,Java,Android,String,Android Studio,Edit:结果表明,XML查看器不是模拟器,实际上并不运行代码 因此,我在Android Studio 1.1.0中启动了我的第一个应用程序,我意识到我甚至无法显示字符串(在java文件中创建) 我做了所有我能做的研究,但无论我复制/粘贴了什么代码片段,它都不会起作用 我试图复制/粘贴第一个答案中的代码片段:但它不起作用。findViewById方法是红色的,my_text_视图也是红色的: String displaythisgoddammit = "display this goddammi

Edit:结果表明,XML查看器不是模拟器,实际上并不运行代码

因此,我在Android Studio 1.1.0中启动了我的第一个应用程序,我意识到我甚至无法显示字符串(在java文件中创建)


我做了所有我能做的研究,但无论我复制/粘贴了什么代码片段,它都不会起作用

我试图复制/粘贴第一个答案中的代码片段:但它不起作用。findViewById方法是红色的,my_text_视图也是红色的:

String displaythisgoddammit = "display this goddammit";
    private TextView text = (TextView) findViewById(R.id.my_text_view);
    text.setText(displaythisgoddammit);
我的文本视图(在activity_main.xml中)是:


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

这是我的主文件(我不确定它是否真的相关,它只是我复制/粘贴的代码片段):我把字符串放在第144行,我应该把它放在别处吗


请帮帮忙?我已经研究了5个小时,但我尝试的解决方案没有一个有效…

在您的代码中,请检查对您正在制作的TextView的引用


它应该是
findviewbyd(R.id.my\u text\u视图)

当您使用

TextView text = (TextView) findViewById(id.my_text_view);
这是因为当您通过其Id定义TextView或任何其他对象时,您需要使用R.Id.my_text_view

所以,要修复它,只需将其更改为

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

您应该检查以下几点:

  • 在方法内部,您不应该使用单词
    private
    ,因为您没有定义类级变量
  • 您需要在id之前使用
    R.
    ,表示您正在检索资源
  • 您需要确保文本视图位于activity_main.xml内
除此之外,您的pastebin文件中有很多错误,我强烈建议您避免只复制和粘贴代码,因为它从来没有这么简单

您需要删除所有不在类级别的访问修饰符,并清理如下代码段:

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);}
到处都是括号和分号,更不用说这段代码是在return语句之后编写的,所以您甚至不会碰到这行代码

注意

我发现的其他错误之处:

  • downloadWebGetAsk
    之后有一个额外的结束括号,这将导致一些编译错误
  • HTTPExample
  • 看起来您遇到问题的代码应该在onCreate中
换言之,尝试类似的方法

  • 此外,在XML中有一行“
    android:text=“@string/displayThis
    ”,该@string基本上表示您希望从strings.XML获取字符串“displayThis”。如果您没有或不想将“displayThis”放在strings.XML中,则需要删除该属性,并通过编程方式设置文本

至少发布您的主要活动的代码。这将向我们展示您尝试设置文本的位置和方式。我猜您是在应用程序生命周期中的某个位置进行设置,这样显示就不会被更新。但没有看到任何代码,这只是一种猜测。“我做了所有可能的研究,但无论我复制/粘贴的代码片段是什么,它都不会起作用。“复制和粘贴代码,特别是如果你不知道它的作用,这是一个坏主意。检查你的整个布局(请张贴在这里)。伙计们,开始吧(见编辑)伊曼纽尔:我知道它的作用,只是它根本不起作用。史蒂文:你说得对,我把它放在了根上,现在我把它放在了别的地方,它至少显示了一些颜色。@Zezombey Emmanual是对的,你复制和粘贴东西的方式使你的代码变得非常不可编译(新词)时尚。只有代码的答案是不被鼓励的。我意识到了,谢谢Emmanuel和ngoa。这是我第一次投稿,我不知道。我知道,这大部分是评论,但评论只能有600个字符…是的,我知道我的pastebin文件中有很多东西是错误的,但它比任何东西都更具实验性。现在我只是不知道正在尝试显示java文件中定义的字符串。正在删除“private”“添加R不会改变任何东西,文本视图位于activity_main.xml中。@Zezombye如果您只想这样做,您不需要整个HTTP示例活动类,只需在Android Studio中打开一个新的
Hello World
活动,然后尝试添加按钮和一些文本即可。从小处做起,逐步发展,从长远来看会更好。是的,HTTP活动类只是因为我想从web服务器下载数据。无论如何,我也试过教程,基本上我和这个家伙有相同的问题:textview中引用的字符串检查它是否存在于strings.xml中,而不是MainActivity.java中,所以无论我把字符串放在哪里,它都不会识别它。@zezombay发生这种情况是因为在xml文件中,当您使用
@string
时,表示您希望从strings.xml获取某些内容,如果您不想这样做,并且希望以编程方式进行,请删除android:text属性,然后只需在
onCreate
中设置它,就像在我的示例中一样。
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);}