我有一個非常奇怪的問題。我有一些數據顯示在對話框中。如果我關閉應用程序並重新打開它,我的ArrayList總是會再次添加原始數據(前5個條目 - >關閉&重新打開 - > 10個條目 - >關閉&重新打開 - > 15個條目等)。ArrayList不斷填充相同的數據
這是我分析我的數據到該ArrayList(這只是我的TabHost發生一次):
JSONArray jPDFs = json.getJSONArray("pdfs");
for (int i = 0; i < jPDFs.length(); i++) {
JSONObject c3 = jPDFs.getJSONObject(i);
String pdf_title = c3.getString("title");
String pdf_url = c3.getString("url");
pdfListTitle.add(pdf_title);
pdfListTitle2.add(pdf_title);
pdfListURL.add(pdf_url);
}
這裏是我的代碼,我表現出與所分析的數據的對話框:
public void showDialog() {
items = null; // have tried with and without...
builder = null; // have tried with and without...
builder = new AlertDialog.Builder(this);
Log.e(TabHost.LOG_TAG, "pdfListTitle=" + TabHost.pdfListTitle.size()); // this always hops from 5 -> 10 -> 15 on every reopen (without killing the app with a taskkiller...)
items = TabHost.pdfListTitle.toArray(new CharSequence[TabHost.pdfListTitle.size()]);
builder.setTitle(R.string.choose_document);
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
WebView wv = (WebView) findViewById(R.id.webviewpdf);
wv.setWebViewClient(new WebViewClient());
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setBuiltInZoomControls(true);
wv.loadUrl("http://docs.google.com/gview?embedded=true&url="
+ TabHost.pdfListURL.get(item));
}
});
AlertDialog alert = builder.create();
alert.show();
}
非常感謝您的幫助!
看起來像這樣!但我怎麼能改變它?因爲現在它說:不能作出非靜態引用,靜態字段TabHost.pdfListTitle – user754730 2012-07-13 12:21:05
請參閱編輯答案,可能會幫助你 – MAC 2012-07-13 12:25:34
所以我必須在我的標籤中做到這一點?或者在我的TabHost? 因爲現在我實例化並在TabHost中填充我的ArrayList並獲取Tab本身中的條目... – user754730 2012-07-13 12:33:24