Android FragmentActivityにFragmentを埋め込み、Listview notifyDataSetChanged()を更新しない
1229 ワード
問題のように、Androidの開発をしている間にListViewが更新されない場合は、一般的に更新されないいくつかの状況をまとめます.
1、データソース木はUIスレッドで変更されています.この時、Handlerを通じてメッセージを送信し、データソースを修正する必要があります.
2、あなたが修正したのはAdapterのデータソースではありません.Adapterを書くときにこのようにデータを転送することをお勧めします.
1、データソース木はUIスレッドで変更されています.この時、Handlerを通じてメッセージを送信し、データソースを修正する必要があります.
2、あなたが修正したのはAdapterのデータソースではありません.Adapterを書くときにこのようにデータを転送することをお勧めします.
ArrayList list=new ArrayList<>();
public RankAdapter(List list){
this.list.addAll(list);
this.tag=tag;
}
public void setList(List list) {
this.list.clear();
this.list.addAll(list);
}
public void addList(List list) {
this.list.addAll(list);
}
3、私が出会ったばかりの問題は特殊で、私はFragmentActivity内蔵Fragmentを使って、FragmentはまたListviewを含んで、それからnotifyDataSetChanged()を実行して死活してリフレッシュしないで、解決方法はきっと上のものではありません.そうしないと、このログも木になって、コードを見ましょう. View view;
@Override
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
if (view == null) {//
view = inflater.inflate(R.layout.fragment_rank, container, false);
}
ViewGroup parent = (ViewGroup) view.getParent();
if (parent != null) {
parent.removeView(view);
}
return view;
}
なぜこのように解決できるのか分からないので、知っていることがあれば教えてください.