これは本当に奇妙な問題です。その基本的な要点は、タイトルの内容です。更新して呼び出しているアダプターがありますがnotifyDatasetChanged()
、問題は、デバイスを少なくとも1回回転させないと、アダプターが機能しないことです。私の人生では、なぜ回転が起こった後に何が違うのか理解できません。
問題のコードはここにあります:
それを処理するASyncTask。
protected void onPostExecute(ArrayList<Records> result) {
if (ca == null)
{
ca = new CoverAdapter<Records>(c, R.layout.grid_cover_with_text_item, result);
}
if (gv.getAdapter() == null)
{
gv.setAdapter(ca);
}
else
{
new AdapterHelper().update((CoverAdapter) ca, result);
ca.notifyDataSetChanged;
}
}
「ca」が私のadapter
、「gv」が私の、GridView
そしてAdapterHelper().update
ここで見つけた方法で、アダプターをクリアし、そのすべての結果をアダプターに追加するarraylist
ので、適切に更新されているはずです。
このコードは、デバイスが回転した後に機能することを忘れないでください。現在非常に混乱しているので、洞察をいただければ幸いです。前もって感謝します。