我想知道如何实现一个静态标签和动态数据下我的Android手机上的布局

问题描述:

我正在从一个应用程序,现在从输入流并显示它的数据,但我想知道,特别是在XML中,我可以学习如何或在哪里创建一个显示给用户,显示静态标签,其中来自下面的流的数据不断更新。我相信我想要使用相对布局。粗体字母是静态标签,斜体是我从流中获得的动态值。请帮忙。谢谢。我想知道如何实现一个静态标签和动态数据下我的Android手机上的布局

例子:温度转速表

  *20* *12* *4000* 

原谅我,如果我的回答是不是你所希望看到的,因为我想不出任何办法在XML纯粹做到这一点。但是,除非有更好的答案出现,以下是我一直在做类似的事情:

在要显示结果的活动中,让我们有一个Handler对象和每个更新的专用Runnable类UI的一个元素。

/** Handler for callbacks to the UI thread */ 
final Handler mHandler = new Handler(); 

/** Runnable class to be posted in handler */ 
private class SetTemperatureText implements Runnable { 
    private final int newTemp; 
    public SetTemperatureText(int newTemp) { 
     this.newTemp = newTemp; 
    } 
    public void run() { 
     mTemperatureTextView.setText(newTemp + " degrees C"); 
    } 
} 

对于每个动态变化的字段,您可以使用其中的一种。

在同一活动的其他地方,您生成了一个新线程来处理传入输入。每当它为其中一个字段获取新值时,请使用新值创建一个新的SetWhateverField对象并将其发布到Handler。 UI线程很快会出现,并用新值更新UI。

至于布局本身,RelativeLayout听起来不是一个坏主意。 TableLayout也可能工作得很好: http://developer.android.com/resources/tutorials/views/hello-tablelayout.html

我很难判断您是否需要更多关于xml/layout结构的信息或动态更新UI元素的方法。如果你澄清这一点,也许我(和其他人)将能够帮助你更多。

+0

@ Cephron非常感谢Cephron。尽管我有更多的问题。如果您上面提交的代码是用于动态更改的文本,那么我如何实现代码以查看高于该动态数字的标签?我如何排列它们并将它们放置在我想要的位置?我想在XML中尽可能多地进行布局,但是如果我必须用java来做,我只需要知道如何。由于我的代表级别,我无法通过jpg提交设计,但是如果我通过电子邮件发送给您,您是否介意我可以更好地了解我想要完成的工作?再次感谢。 – user544358

+0

我宁愿将我的电子邮件保密,但我确信您需要的布局完全可以用XML完成。对于初学者来说,我认为你可以从看一些TableLayout示例中受益。 (快速网页搜索得到我 http://androiddevel.blogspot.com/2007/12/tablelayout-example.html 和 http://developer.android.com/guide/topics/ui/layout-objects。 html#tablelayout) 也许一个TableRow标签和更新下面的TableRow值会起作用吗?请记住,您始终可以将TableLayout嵌入到更大的布局中。 – Cephron

+0

我想出了布局,并且我想在使用ListView进行大量研究之后使用更新UI的方式。你能否更详细地解释一下你的意思是产生一个新的线程,以及这些声明在我的主要活动中的位置?它们可以在我的包中是单独的类文件,然后称为可运行类?我有不同的类在单独的应用程序中运行,但我需要将它们放在同一个应用程序中。请不要对任何事抱歉。任何帮助非常感谢。 – user544358