Android +兼容库ListFragment没有运行适配器getView()方法?

时间:2011-10-08 03:12:59

标签: android

在将兼容性库与ListFragments一起使用时,我知道setListShown(false)和setListShown(true)问题,但是如何在不考虑此错误的情况下显示ListFragment?我的ArrayAdapter getView()方法由于某种原因永远不会触发......

错误: http://code.google.com/p/android/issues/detail?id=17096

DateAdapter.java

class DateAdapter extends ArrayAdapter<DateVO> {

    //constructor
    public DateAdapter(Context context) {
        super(context, android.R.layout.simple_list_item_2);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        Log.i("tag", "getView"); //never called
        ...

MyFragment.as

public class MyFragment extends ListFragment implements LoaderCallbacks<ArrayList<DateVO>> {
...
    @Override
        public void onActivityCreated(Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);
            m_adapter = new DateAdapter(context);
            setListAdapter(m_adapter);
            //setListShown(false);

            //initialize the loader
            getLoaderManager().initLoader(0, null, this);
        }
...

2 个答案:

答案 0 :(得分:1)

看起来你找到了解决这个问题的方法。对于将来,如果您使用支持兼容性库,则可能需要尝试使用getSupportLoaderManager()。

答案 1 :(得分:0)

好的,这是从我的自定义加载器加载内容......最后!由于setListShown(true | false)与兼容性lib无法正常工作, 我只是创建了一个通过DialogFragment添加的自定义ProgressDialog。如果您希望看到代码只是回复,我会发布。