2

私はAndroidアプリを開発しています。Jsoup の Element を文字列に変更して、2 つを減算できるようにする必要があります。以下のコード String value = valueOf(arrT.val());は機能しません。Element を文字列に変換する方法がわかりません。私のコードは次のとおりです。

TestStation.java

public class TestStation extends Activity {
String URL = "http://lapi.transitchicago.com/api/1.0/ttarrivals.aspx?key=201412abc85d49b2b83f907f9e329eaa&mapid=40380";
@SuppressWarnings("deprecation")
@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); 



Document doc = null;

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

try {
    doc = Jsoup.connect(URL).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");
for (Element div : elem) {

}Elements elemn = doc.select("eta"); for (Element div : elem) {
Elements arrT = div.select("arrT");
Elements prdt = div.select("prdt");


try {

    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm:ss");
    Date date2 = sdf.parse(prdt.val());
    Date date1 = sdf.parse(arrT.val());
    tv.setText(String.valueOf (prdt));
    long dateDiff = (date1.getTime() - date2.getTime())>0 ? (date1.getTime() - date2.getTime()) :(date2.getTime() - date1.getTime());
    SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMdd HH:mm:ss");
    sdf1.format(dateDiff);


    }

catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();



 }

}
}   

prdt は要素から文字列に変更できないというコンパイル エラーが表示されます。これについてオンラインで見つけることができるメモがあるので、これについて何か助けていただければ幸いです。ありがとうございました。

4

3 に答える 3

3

Jsoup text()関数を使用する

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm:ss");
Date date2 = sdf.parse(prdt.text());
于 2013-09-23T08:34:11.127 に答える
1

試してみる:

String value = arrT.val(); SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");

Date date = sdf.parse(value);

jsoup apidocs を参照してください

注: 日付パターンは、 parseメソッドに渡す形式と一致する必要があります。

追加の注意: doc = Jsoup.connect(URL)はネットワーク呼び出しを行うため、UI スレッド (onCreate() メソッド内) で直接呼び出すのではなく、AsyncTask に配置することを検討してください。

于 2013-09-21T23:50:41.743 に答える