清墨夕颜
2015-06-15 05:14
采纳率: 100%
浏览 4.6k
已采纳

数组长度问题,ArrayList的.size和普通数组的.length方法

我自己写了个BaseAdapter,在getCount中返回普通数组.length方法没问题,可是返回ArrayList的.size()方法就出错了 ,求大神解答啊啊啊啊

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

10条回答 默认 最新

  • 已采纳

    你上面的那些变量为什么不放在class内?

    打赏 评论
  • __LLLL__ 2015-06-15 05:19

    你把代码贴出来看看啊

    打赏 评论
  • 清墨夕颜 2015-06-15 05:24

    private int[] data = { R.drawable.main_shelf_add };//这个是普通数组
    public ArrayList mList;//这个是ArrayList
    mList=new ArrayList();
    mList.add(R.drawable.main_shelf_add);
    class ShlefAdapter extends BaseAdapter {
    @Override
    public int getCount() {
    // TODO Auto-generated method stub
    return /*data.length+4*/mList.size();// 每书目增加三,书架数增加一
    }

        @Override
        public Object getItem(int arg0) {
            // TODO Auto-generated method stub
            return arg0;
        }
    
        @Override
        public long getItemId(int arg0) {
            // TODO Auto-generated method stub
            return arg0;
        }
    
        @Override
        public View getView(int position, View contentView, ViewGroup arg2) {
            // TODO Auto-generated method stub
            if (mList.size() == position) {
                contentView = LayoutInflater.from(getApplicationContext())
                        .inflate(R.layout.item2, null);
            }
            if (mList.size() != position) {
                contentView = LayoutInflater.from(getApplicationContext())
                        .inflate(R.layout.item1, null);
    
                TextView view = (TextView) contentView
                        .findViewById(R.id.imageView1);
    
                if (mList.size() > position) {
                    view.setBackgroundResource(data[position]);
                } else {
                    view.setBackgroundResource(data[0]/*[0]*/);
                    view.setClickable(false);
                    view.setVisibility(View.INVISIBLE);
                }
            }
            return contentView;
        }
    
    }
    
    打赏 评论
  • 清墨夕颜 2015-06-15 05:25

    代码很多 就贴了一部分 求大神看看呐。。

    打赏 评论
  • baidu_28935457 2015-06-15 05:44

    ArrayList的.size() 返回分配内存的大小
    前者为返回数组长度 到‘\0'结束

    打赏 评论
  • devmiao 2015-06-15 06:00

    调试下,看看报什么错误,自己google下错误信息。什么都没有说怎么帮你

    打赏 评论
  • 清墨夕颜 2015-06-15 06:09

    ![图片说明](https://img-ask.csdn.net/upload/201506/15/1434348550_379004.png)<br>
图片说明
    两个图片错误信息就是getcount哪里出错了

    打赏 评论
  • Lex丶D丶Tester 2015-06-15 06:28

    ArrayList个数的话,应该是 .count 吧

    打赏 评论
  • 清墨夕颜 2015-06-16 08:38

    图片说明

    打赏 评论
  • 清墨夕颜 2015-06-16 08:51

    图片说明

    打赏 评论

相关推荐 更多相似问题