目前我的解析器解析数据并将其存储在可以轻松显示的 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/