setListAdapter不调用getView

时间:2013-10-08 11:03:12

标签: android android-listview android-adapter

我试过重构一些代码..但是现在当我在我的片段中调用setListAdapter()时,它不会调用加载右视图的类的getView。我甚至尝试使用一些自定义适配器进行一些测试,但它没有记录任何东西......

有什么想法吗?谢谢! :)

      setListAdapter(new ListAdapter(){

        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return 0;
        }

        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return position;
        }

        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        }

        @Override
        public int getItemViewType(int position) {
            // TODO Auto-generated method stub
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
                            Log.i("LOG", "TEST");
            return null;
        }

        @Override
        public int getViewTypeCount() {
            // TODO Auto-generated method stub
            return 1;
        }

        @Override
        public boolean hasStableIds() {
            // TODO Auto-generated method stub
            return false;
        }

        @Override
        public boolean isEmpty() {
            // TODO Auto-generated method stub
            return false;
        }

        @Override
        public void registerDataSetObserver(DataSetObserver observer) {
            // TODO Auto-generated method stub

        }

        @Override
        public void unregisterDataSetObserver(DataSetObserver observer) {
            // TODO Auto-generated method stub

        }

        @Override
        public boolean areAllItemsEnabled() {
            // TODO Auto-generated method stub
            return false;
        }

        @Override
        public boolean isEnabled(int arg0) {
            // TODO Auto-generated method stub
            return false;
        }

      });

2 个答案:

答案 0 :(得分:1)

如果您的适配器的项目数= 0,那么它将不会创建任何视图。

@Override
    public int getCount() {
        // TODO Auto-generated method stub
        return 0;
}

getCount必须返回大于0的数字才能使列表调用getView,并显示视图。

答案 1 :(得分:0)

这里的问题在于您传递给适配器的数据。如果该数组为空或大小为0,则不会调用getView。

请通过调试代码来检查,或者为初始检查提供一些静态数据