シンプルな foreach-sortof loop を作ろうとしています。Androidにはforeachが存在しないようですが、これを修正する方法がわかりません...
情報のブロックを印刷しようとしていますが、すべてのブロックに新しい情報があります..単純なループ...
これは私がこれまでに思いついたものです:
while (eventType != XmlPullParser.END_DOCUMENT) {
String[] separated_nodes = node.split(":");
if(eventType == XmlPullParser.START_TAG && xpp.getName().equalsIgnoreCase(tag)) {
if(tag.equals("ChannelPackage")) {
// ArtNr:Name:Price:Period:InitDisPeriod:DisPeriod
// text.setText("Network "+xpp.getAttributeValue(null, "Name"));
packagename += xpp.getAttributeValue(null, separated_nodes[1].trim());
artnr += xpp.getAttributeValue(null, separated_nodes[0].trim());
price += xpp.getAttributeValue(null, separated_nodes[2].trim());
period += xpp.getAttributeValue(null, separated_nodes[3].trim());
initdisperiod += xpp.getAttributeValue(null, separated_nodes[4].trim());
disperiod += xpp.getAttributeValue(null, separated_nodes[5].trim());
text.setText("Channel Packages: \n" + artnr +"\n" +
"Package Name: "+ packagename + "\n" +
"Price : "+ price +"\n" +
"Period: "+ period +"\n" +
"InitDisPeriod: "+ initdisperiod +"\n" +
"DisPeriod: "+ disperiod +"\n"
);
text.setMovementMethod(new ScrollingMovementMethod());
}
} else if(eventType == XmlPullParser.END_TAG && xpp.getName().equalsIgnoreCase(tag)) {
System.out.println("End tag "+xpp.getName());
}
eventType = xpp.next();
}
// text.setText(nodes.toString());
}catch(Exception ex){
text.setText("Failed!");
Log.i("HTTPResponse", ex.toString());
}
しかし、結果は次のようになります。
- アートン
- アートン
- アートン
- パッケージ名
- パッケージ名
- パッケージ名
でも私はしたい :
- アートン
- パッケージ名
- アートン
- パッケージ名
その結果を得るためにコードをフォーマットするにはどうすればよいですか? 私は完全に無知です:/