1

私はこのnotifydatasetの変更の問題について多くのことをグーグルで検索しましたが、それでも答えが見つかりません。カスタムオブジェクトを含むリストビューがあります。

私の実装は次のようになります

1)カスタムオブジェクトのリスト2)カスタムオブジェクトリストを提供するアダプタ

私の質問:

リストからアイテムを削除するとき、バックエンドでは、カスタムオブジェクトリストからremoveを呼び出すだけです。そして、notifyDatasetchangedを呼び出すと、機能しません:(..

それはリストを更新していません、私はそれがどこに欠けているのかわかりません。このシナリオでリストを更新する手順を教えてください

4

2 に答える 2

1

このスレッドで私の答えを見てください。

それでも問題が解決しない場合はお知らせください。

乾杯!

于 2012-11-03T13:41:14.423 に答える
0

次のように、カスタムListViewにAsynkTaskを使用します。-

 InboxTask.execute(); will call asynktask

class InboxTask extends AsyncTask<Uri, Integer, ArrayList<InboxField>> 
{
@Override
    protected void onPreExecute() 
   {
     pd=ProgressDialog.show(HomePage.this, "", "Please wail...",true,false);
    super.onPreExecute();
   }
@Override
    protected ArrayList<InboxField> doInBackground(Uri... params) 
    {
return ArrayList<InboxField>
}
  @Override
    protected void onPostExecute(ArrayList<InboxField> result) 
    {
        inboxAdapter=new InboxAdapter(HomePage.this,result);
        list.setAdapter(inboxAdapter);
                      adapter.notifyDataSetChanged();
            list.destroyDrawingCache();
        pd.dismiss();

    }

adepter.notigyDataSetChangedをonPostExecuteメソッドに配置します

于 2012-11-03T13:36:57.953 に答える