java - 如何将解析后的 XML 数据插入到 TextView 中

标签 java android xml parsing textview

目前我的解析器解析数据并将其存储在可以轻松显示的 ListView 中。

但是我想使用 textView 来显示这些数据,但我不知道如何。

这是使用 ListView 的代码:

public class StatisticsScreen extends ListActivity{

private List<Message> messages;
ListView lv;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.statisticsscreen);    
    loadFeed();            
    lv = (ListView) findViewById(android.R.id.list);

    private void loadFeed() {
    try{
        BaseFeedParser parser = new BaseFeedParser();
        messages = parser.parse();
        List<String> titles = new ArrayList<String>(messages.size());
        for (Message msg : messages){
            titles.add(msg.getTemperature());
            titles.add(msg.getRain());
            titles.add(msg.getWind());
        }
        ArrayAdapter<String> adapter = 
            new ArrayAdapter<String>(this, R.layout.xmldatarow,titles);
        getListView().addHeaderView(View.inflate(this, R.layout.xmllayout, null));
        this.setListAdapter(adapter);
    } catch (Throwable t){
        Log.e("AndroidNews",t.getMessage(),t);
    }       
}

就像我说的,这很完美,但我想使用 TextView 而不是 ListView 来存储/显示数据..

有什么建议吗?

编辑:这是解决方案

这是现在可以使用的更新后的代码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.statisticsscreen);        
    tv = (TextView) findViewById(R.id.xmltextview);      
    tv1 = (TextView) findViewById(R.id.xmltextview1);
    tv2 = (TextView) findViewById(R.id.xmltextview2);
    loadFeed();

    private void loadFeed() {
      try{
        BaseFeedParser parser = new BaseFeedParser();
        messages = parser.parse();
        for (Message msg : messages){
            tv.setText(msg.getTemperature());
            tv1.setText(msg.getRain());
            tv2.setText(msg.getWind());
         }           
      } catch (Throwable t){
         Log.e("Weather",t.getMessage(),t);
      }       
    }
 }

最佳答案

您的代码无法工作,因为您总是用最后的按摩信息替换 TextView 。你应该这样做:

public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.statisticsscreen);        
  tv = (TextView) findViewById(R.id.xmltextview);      
  loadFeed();

  private void loadFeed() {
    try {
      BaseFeedParser parser = new BaseFeedParser();
      messages = parser.parse();
      StringBuilder builder = new StringBuilder();
      for (Message msg : messages){
        builder.append(msg.getTemperature());
        builder.append(",");
        builder.append(msg.getRain());
        builder.append(",");
        builder.append(msg.getWind());
        builder.append("\n");
      }
      tv.setText(builder.toString());
    } catch (Throwable t){
      Log.e("AndroidNews",t.getMessage(),t);
    }
  }
}       

关于java - 如何将解析后的 XML 数据插入到 TextView 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5023382/

相关文章:

java - 如何在 android 中发送带有文件上传的常规帖子键/值对

android - 如何在Android上实现实时视频编辑?

c# - 如何使用 LINQ 选择 XML 文档中包含特定字符串的所有属性

asp.net-mvc - 如何将 XML 作为 POST 传递给 ASP MVC .NET 中的 ActionResult

php - 获取兄弟/姐妹节点的值

java - 如何从列表中分配一个数字 - JDBC JAVA SQL

java - 从 Java 类调用 Groovy Closure - 它会编译吗?

java - 如何使用 jackson 创建json数组

android - 处理 Volley 错误

java - Android 线程阻塞 UI 除非使用同步