如何将值存储为迭代器中的变量for循环?

时间:2013-10-06 21:03:58

标签: java android for-loop iterator

我正在开发一款Android应用。我正在使用Jsoup从页面中检索元素。然后,我正在迭代集合以获得它的每个部分。我不确定如何将元素的每个实例保存为不同的变量。我认为我可以使用for循环,但我不太明白。我如何确定选择的时长?我该如何使用它?我正在从这里检索元素:http://lapi.transitchicago.com/api/1.0/ttarrivals.aspx?key=201412abc85d49b2b83f907f9e329eaa&mapid=40380。我的代码如下:

public class TestStation extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
        setContentView(R.layout.test_station);
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy); 

        Intent intent = getIntent();
        String value = intent.getExtras().getString("value");

        Uri my = Uri.parse("http://lapi.transitchicago.com/api/1.0/ttarrivals.aspx?key=201412abc85d49b2b83f907f9e329eaa&mapid="+value);

        String myUrl = my.toString();



Document doc = null;

TextView tv1 = (TextView) findViewById(R.id.tv1);

try {
    doc = Jsoup.connect(myUrl).userAgent("Mozilla/5.0 (Macintosh; U; Intel Mac OS X; de-de) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10").get();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
Elements elem = doc.select("eta"); 
Iterator<Element> iterator = elem.iterator();

while(iterator.hasNext())
{ Element div = iterator.next();

    Elements arrT = div.select("arrT");
     Elements prdt = div.select("prdt");
     Elements destNm = div.select("destNm");
    Elements rt = div.select("rt");
    String DestNm = destNm.text();
    String Rt = rt.text();
    tv1.setText(String.valueOf (Rt));

我想将arrT,pdrt和destNm的每个实例(有很多)存储为不同的变量。我怎么会这样做?谢谢你的帮助。

3 个答案:

答案 0 :(得分:2)

您可以使用通用类型列表

ArrayList<Elements> xx = new ArrayList<Elements>();

然后在你的while循环中

 xx.add(arrT);

答案 1 :(得分:0)

`你能为你感兴趣的属性创建一个带getter和setter的类,并创建一个数组吗?

编辑: 要创建你的课程:

public class YourClass {

private Element arrt;
...

public void setArrT (String input) {
    arrt = input;
}
public Element getArrt() {
 return arrt;
}
....

}

试一试。

答案 2 :(得分:0)

在Unicode和UTF-8之间传输

try { 
String string = "\u201cGoodbye Athens thanks";
byte[] utf8 = string.getBytes("UTF-8");
string = new String(utf8, "UTF-8");
}  catch (UnsupportedEncodingException e) {
}