懒洋洋大人 2015-06-24 06:57 采纳率: 75%
浏览 2329
已采纳

android gridview+viewpager,根据 position改变item背景。

android gridview+viewpager,怎样根据setOnItemClickListener position改变item背景。
viewpager是循环加入的。
activity里
for (i = 0; i < videoNum / 4; i++) {//我这里的videoNum是20
view = getActivity().getLayoutInflater().inflate(
R.layout.fragment_four_video, null);
if (viewList.size() < (videoNum / 4)) {
viewList.add(view);

            gridView = (GridView) view.findViewById(R.id.gv);
            mAdapter = new BaseMoreAdapter(getActivity(), 2, 2,
                    displaychannels, i);
            gridView.setAdapter(mAdapter);
            gridView.setSelection(0);
            gridView.setOnItemClickListener(onItemClick);
        }
    }
    mVpAdapter = new ViewPagerAdapter(viewList);
    mVPager.setAdapter(mVpAdapter);

    在点击事件里调用了适配器里的方法更换背景
    private OnItemClickListener onItemClick = new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int position,
            long arg3) {
        mAdapter.setSeclection(position);
        mAdapter.notifyDataSetChanged();}

        adapter下
        public void setSeclection(int position) {
    clickTemp = position;
}

adapter getview方法里
if (clickTemp == position) {
        viewHolder.mRlContent.setBackgroundResource(R.drawable.a);
    } else {
        viewHolder.mRlContent.setBackgroundResource(R.drawable.b);
    }

    这样写的结果是,因为循环的关系每次都是操作了最后一页,怎样可以更换viewpager当前页的gridview的item的背景。
  • 写回答

3条回答

  • 懒洋洋大人 2015-06-24 08:44
    关注

    问题以解决。谢谢回答。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料