【问题标题】:Sending a generated value to XML for formatting将生成的值发送到 XML 以进行格式化
【发布时间】:2012-03-16 14:02:02
【问题描述】:

首先我想说我没有最好的 java 知识,因为我还在学校学习它,但我决定自己去尝试创建一个 android 应用程序。

现在,我的程序生成了两个不同的随机数。我试图让这些生成的整数显示在应用程序中。我希望它通过 XML 格式来完成,因为我可以控制我想要它的外观。 我的问题是我似乎无法弄清楚如何将值传递给 XML 文件。我不确定我是否应该使用“android:text”并以某种方式将整数的名称整合到其中(我尝试过。)或什么。

我试图在谷歌上搜索可以做些什么的解释,但我认为我缺乏将我的问题真正表达出来的能力阻碍了我。

【问题讨论】:

    标签: android xml int


    【解决方案1】:

    您不会使用 XML 文件来设置文本。您可以使用 xml 文件来设置外观,如下所示(注意 android:id= 行):

    <TextView android:id="@+id/randomInt1" 
     android:layout_height="wrap_content" android:layout_width="wrap_content"
    <TextView android:id="@+id/randomInt1" />
     android:layout_height="wrap_content" android:layout_width="wrap_content"/>
    

    然后在 onCreate 的 java 代码中,为将显示整数的活动执行以下操作:

    int random_int1=0;
    int random_int2=100;
    ((TextView)this.findViewById(R.id.randomInt1)).setText(random_int1);
    ((TextView)this.findViewById(R.id.randomInt2)).setText(random_int2);
    

    【讨论】:

    • 我是否需要在 xml 中添加任何内容(例如“android:text”或者它只会显示出来?
    • 不,Java中的setText会把文本放到TextView中。不需要 android:text。你为什么不试试呢?
    • 我做了,但是在图形布局预览中,它没有显示任何文本。当我尝试在我的 AVD 中运行程序以查看它是否会显示在那里时,我遇到了这个错误:“应用程序已意外停止。请再试一次。”,所以我需要调试我的程序才能继续。感谢您的帮助。
    • 您不会在图形布局编辑器中看到文本。由于您正在以编程方式更改文本,因此在您可以运行代码之前您不会看到它。
    • 好的。感谢所有的帮助。我只是继续假设我输入的所有内容都正确,并且当我让我的程序运行时文本会出现 xD
    【解决方案2】:

    它的工作方式是你需要在java和xml之间建立一个“链接”。

    这可以在 java 中使用以下行来完成(我从代码中提取的快速示例):

    TextView nameText = (TextView) findViewById(R.id.nameTextView);

    那么这可以使用:

    nameView.setText(PutStringHere);

    这是 android 开发的基础部分。它是java和xml之间的链接。您可以通过 java TextView 编辑其他内容。

    【讨论】:

    • 我会在 XML 中放入什么来调用新创建的文本。我会使用“android:text”还是别的什么?
    • 看看我在下面输入的代码。第一部分是您将放入 XML 中的内容。
    • 好的。我不确定它是否应该显示在 xml 的图形预览中(哪个不显示)。所以,我尝试在我的 AVD 上运行该应用程序,但我收到此错误:“应用程序已意外停止。请重试。”,所以我需要调试我的程序才能继续。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    • 2013-06-10
    • 2011-09-24
    • 2016-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多