1

私は最初の Android アプリの 1 つに取り組んでおり、Web から JSON をロードし、解析後にデータをListView. アプリを最初に起動したとき、ListViewは空です。データがロードされた後、それはかなりいっぱいです。ただし、notifyDataSetChanged()アダプターで使用している間でもListView、シミュレーターのキーボードのキーを押すまで、新しくロードされたデータが更新されず、表示されません。

これは私が行う処理です。JSON をダウンロードして解析すると、コードは次のようになります。キーを押しても何も表示されません。

JSONArray jObject = new JSONArray(new2);
int l = jObject.length();
downloadedArrayOfStrings = new String[jObject.length()];

for(int i = 0; i < l; i++){
    Log.v("i", ""+i);
    jObject.getJSONObject(i).getString("category").toString();
}

ArrayList<String> lst = new ArrayList<String>();
lst.addAll(Arrays.asList(downloadedArrayOfStrings));
newAdapter = new MobileArrayAdapter(this, lst, downloadedArrayOfStrings);
newAdapter.setJSONArray(jObject);
setListAdapter(newAdapter);

なぜこれが起こっているのか、そしてそれを修正する方法についてのアイデアはありますか?

4

1 に答える 1

0

リストの更新が必要な場合は、ListAdapterを に再割り当てする必要があります。ListViewnotifyDataSetChanged()で正しく動作せずListAdapter、 で使用するように設計されていCursorAdapterます。上記のことを試す前に、を使用して試すこともできますinvalidateViews()invalidateViews()基本的にあなたのを再構築しますListView

于 2012-06-20T22:07:40.480 に答える