0

我想通过从服务器下载图像实例化列表视图,然后在我的asynkTask类的onPostExecute()中调用setImages(),这是我的主要活动。之后mTransaction.commit()崩溃,我得到内容查看未创建错误

这里是我的setImages方法错误消息 “尚未创建内容查看”:

public void setImages(List<Bitmap> result) 
{ 
    log("Entered setImages()"); 

    ListViewAdapter listAdapter = new ListViewAdapter(this, R.layout.list_item,  R.id.imageView, result); 
    customListFragment = new customListFragment(); 
    customListFragment.setListAdapter(listAdapter); 

    FragmentTransaction mTransaction = mFragmentManager.beginTransaction(); 
    mTransaction.add(R.layout.activity_main, customListLineFragment); 
    mTransaction.commit(); 

} 

这里是我的logcat:

03-02 16:10:16.265: E/AndroidRuntime(2623): FATAL EXCEPTION: main 
03-02 16:10:16.265: E/AndroidRuntime(2623): Process: com.example.test, PID: 2623 
03-02 16:10:16.265: E/AndroidRuntime(2623): java.lang.IllegalStateException: Content view not yet created 
03-02 16:10:16.265: E/AndroidRuntime(2623):  at android.app.ListFragment.ensureList(ListFragment.java:386) 
03-02 16:10:16.265: E/AndroidRuntime(2623):  at android.app.ListFragment.setEmptyText(ListFragment.java:290) 
03-02 16:10:16.265: E/AndroidRuntime(2623):  at com.example.test.listFragment.onAttach(listFragment.java:28) 
03-02 16:10:16.265: E/AndroidRuntime(2623):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:849) 
03-02 16:10:16.265: E/AndroidRuntime(2623):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062) 
03-02 16:10:16.265: E/AndroidRuntime(2623):  at android.app.BackStackRecord.run(BackStackRecord.java:684) 
03-02 16:10:16.265: E/AndroidRuntime(2623):  at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447) 
03-02 16:10:16.265: E/AndroidRuntime(2623):  at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443) 
03-02 16:10:16.265: E/AndroidRuntime(2623):  at android.os.Handler.handleCallback(Handler.java:733) 
03-02 16:10:16.265: E/AndroidRuntime(2623):  at android.os.Handler.dispatchMessage(Handler.java:95) 
03-02 16:10:16.265: E/AndroidRuntime(2623):  at android.os.Looper.loop(Looper.java:136) 
03-02 16:10:16.265: E/AndroidRuntime(2623):  at android.app.ActivityThread.main(ActivityThread.java:5017) 
03-02 16:10:16.265: E/AndroidRuntime(2623):  at java.lang.reflect.Method.invokeNative(Native Method) 
03-02 16:10:16.265: E/AndroidRuntime(2623):  at java.lang.reflect.Method.invoke(Method.java:515) 
03-02 16:10:16.265: E/AndroidRuntime(2623):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
03-02 16:10:16.265: E/AndroidRuntime(2623):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
03-02 16:10:16.265: E/AndroidRuntime(2623):  at dalvik.system.NativeStart.main(Native Method) 

这里是CustomListFragment类

public class CustomListFragment extends ListFragment { 



@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setListAdapter(new ArrayAdapter<ImageView>(getActivity(), android.R.layout.simple_list_item_1)); 

} 

@Override 
public void onAttach(Activity activity) { 
    super.onAttach(activity); 

    this.setEmptyText("...."); 

} 

回答

0

添加片段后设置适配器,提交。 试试这个:

mTransaction.commit(); 
mFragmentManager.executePendingTransactions(); 
customListFragment.setListAdapter(listAdapter); 
+0

我仍然收到崩溃和错误消息“内容视图尚未创建”。我应该在下载数据之前添加片段视图吗? –

+0

你可以发布你的customListFragment onAttach和onCreateView方法吗? – FrankenBel

+0

我贴在上面 –