ListFragment
のList
をリフレッシュしたいですか?したがって、私は私のListFragment
でメソッドを作成しました:Android - 他のアクティビティでAsyncTaskから呼び出されたときに、ListFragmentのコンテキストが動作しない
public void setAdapter(List<String> valueList) {
ArrayAdapter adapter = new ArrayAdapter<String>(ctx, android.R.layout.simple_list_item_1, valueList);
setListAdapter(adapter);
adapter.notifyDataSetChanged();
}
をそして、私のActivity
に私はonPostExecute
で上記のメソッドを呼び出すAsyncTask
を持っている:
@Override
protected void onPostExecute(ArrayList<String> valueList) {
OtherClass otherClasst = new OtherClass();
otherclass.setAdapter(valueList);
}
すべてが正常に動作する必要があります。 valueList
は空でないか、そのようなものではなく、またonPostExecute
が呼び出されます。
onCreate
メソッドのContext ctx
を私のListFragment
に初期化すると、私はNullPointerException
になります。 メソッドでctx = getActivity
で初期化すると、同じエラーが発生します。私ができる唯一のことは、AsyncTask
のクラスのcontext
を取得することですが、アプリには何も表示されません。
これをどのように機能させるには?
を呼び出す:
は、このような
Fragment
のonCreateView
方法であってもよく、setAdapter
外(それがグローバルに)adapter
を初期化しますフラグメントのonViewCreatedメソッド – dex'OtherClass'とは何ですか、なぜ新しいものを作成していますか? –
ListFragmentの現在のインスタンスを更新する必要があります。あなたのリストフラグメントがOtherClassと呼ばれる場合は、まず上記のsetAdapterメソッドを使って現在のインスタンスを取得し、それを更新する必要があります。 – Neil