baseAdapter icon indicating copy to clipboard operation
baseAdapter copied to clipboard

数组越位

Open chenwulue opened this issue 9 years ago • 2 comments

但我使用多item布局,且使用HeaderAndFooterWrapper加入了头部,我的Adapter extends MultiItemTypeAdapter, 在RecyclerView.LayoutManager manager = recyclerView.getLayoutManager(); if (manager instanceof GridLayoutManager) { final GridLayoutManager gridLayoutManager = (GridLayoutManager) manager; gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize(int position) { LogUtils.e("position:" + position); int viewType = getItemViewType(position);会出现数组越位的情况

chenwulue avatar Jul 07 '16 07:07 chenwulue

CommonAdapter commonAdapter = new CommonAdapter<String>(this, R.layout.item_text, list) { @Override protected void convert(ViewHolder holder, String s, int position) { holder.setText(R.id.txt_title, s); } }; HeaderAndFooterWrapper head = new HeaderAndFooterWrapper(commonAdapter); View view = LayoutInflater.from(this).inflate(R.layout.item_text,null,false); head.addHeaderView(view); commonAdapter.setOnItemClickListener(new MultiItemTypeAdapter.OnItemClickListener() { @Override public void onItemClick(View view, RecyclerView.ViewHolder holder, Object o, int position) { Toast.makeText(MainActivity.this, "position:" + position+"内容:"+o.toString(), Toast.LENGTH_SHORT).show(); } @Override public boolean onItemLongClick(View view, RecyclerView.ViewHolder holder, Object o, int position) { return false; } }); recyclerview.setAdapter(head); commonadapter里面的s是对的.但是onItemClick中 obejct对应的值不对,点击最后一个item提示数组越界

imgod1 avatar Jul 08 '16 16:07 imgod1

我是通过这种方法来规避这个问题的 https://github.com/imgod1/TestCommonAdapter

imgod1 avatar Jul 08 '16 17:07 imgod1