0

我试图重构一些代码..但是现在当我在我的片段中调用 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;
        }

      });
4

2 回答 2

1

如果您的适配器有 item count=0 那么它不会创建任何视图。

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

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

于 2013-10-08T11:07:39.933 回答
0

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

请从调试代码中检查,或者提供一些静态数据以进行初始检查

于 2013-10-08T11:06:06.183 回答