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

问题描述

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的背景。

解决方案

问题以解决。谢谢回答。

解决方案二:

代码有点乱

item点击事件
private OnItemClickListener onItemClick = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
//选中的行号
clickTemp = position;
//刷新gridview
mAdapter.notifyDataSetChanged();

}

adapter getview方法里
if (clickTemp == position) {
viewHolder.mRlContent.setBackgroundResource(R.drawable.a);
} else {
viewHolder.mRlContent.setBackgroundResource(R.drawable.b);
}
这样,每次点击一个ITEM,都会走adapter的getview,把选中的图片设置成R.drawable.a

解决方案三:

http://blog.csdn.net/crazy1235/article/details/42678877

时间: 2024-09-09 22:33:03

android gridview+viewpager,根据 position改变item背景。的相关文章

Android 利用ViewPager+GridView实现首页导航栏布局分页效果_Android

最近我尝试使用ViewPager+GridView实现的,看起来一切正常,废话不多说,具体代码如下: 如图是效果图   首先分析下思路 1.首先是怎么布局:整体是一个ViewPager将GridView作为一个View添加到ViewPager的adapter中,下方是圆点 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas

滑动-【急】gridView手势移动,更改item背景颜色!

问题描述 [急]gridView手势移动,更改item背景颜色! 在gridView上手指移动,在移动路径上的item背景颜色发生改变! 如图:本人的思路:是在Activity里面创建了一个手势的内部类,重写onSroll方法(这个方法是判断用户手势按下之后移动的事件),因为GridView监听是写在activity里面的,在内部类里面的onSroll里面把gridView的监听写在这个里面;gridView监听里面判断position是否相等,然后new adapter类的对象通过对象调用ge

android gridview的item放大问题,setOnItemSelectedListener不执行的解决办法。

转载请注明出处,谢谢:http://blog.csdn.net/harryweasley/article/details/46858019 提前声明:本篇博客是基于电视机顶盒的,全部操作是用遥控器. 我要实现这样的一个效果.点击gridview的item,有放大的效果. 先看下效果图. 本篇博客的重难点: 1.怎么让选中的item变大. 2.变大后,怎么让item全部显示出来,而不是被gridview的边缘挡住. 3.怎么每次进入gridview当前item变大.即解决setOnItemSele

Android中在GridView网格视图上实现item拖拽交换的方法_Android

GridView基础新建一个HelloGridView的工程 修改main.xml代码如下: <?xml version="1.0" encoding="utf-8"?> <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gridview" android:layout_width=&qu

Android中在GridView网格视图上实现item拖拽交换的方法

GridView基础 新建一个HelloGridView的工程 修改main.xml代码如下: <?xml version="1.0" encoding="utf-8"?> <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gridview" android:layout_width=&q

Android ListView滑动改变标题栏背景渐变效果

先上ListView滑动改变标题栏背景渐变效果图,透明转变成不透明效果: 图1: 图2: 图3: 图4: 我用的是小米Note手机,状态栏高度是55px,后面会提到,这里先做个说明: 下面的内容包含了所有代码和一些测试数据: 代码: 代码很简单,也做了注释,这里就不废话了. 先来布局文件: activity的布局 activity_main_10 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/androi

android 怎样在adapter中改变所有item的部分布局?

问题描述 android 怎样在adapter中改变所有item的部分布局? 我想实现类似有道云笔记的笔记功能,点击某个item中的音频文件后,播放当前的音频文件,当前item的音频布局以进度条呈现,同时其它item(无论之前是否被点击播放过,也无论是否播放完过)全部重置为最初未被点击的状态,不知道我有没有把问题说清楚,有没有人做过这个啊?折腾一天了,实在没法了,求指点啊 解决方案 adapter中有个getItemViewType(int position)的方法,返回特定的type,然后构造

android 的gridview如何把最后一个item固定做一个添加更多的按钮

问题描述 android 的gridview如何把最后一个item固定做一个添加更多的按钮 添加更多按钮添加一个给添加更多加一个,大神知道的给我发280230816@qq.con邮箱里 谢谢!!!!!!!!!! 解决方案 加载footerview中 在listView.addFooterView(更多按钮); 解决方案二: 说详细点可以吗?,我是新手. 解决方案三: 说详细点可以吗?,我是新手. 解决方案四: public View getView(int position, View conv

android gridview第一个item

问题描述 android gridview第一个item gridview 中的第一个item中放置了图片和textview,启用线程进行刷新显示textview的内容,其他的item都正常只有第一个item不正常显示,求大神指导 解决方案 你这么问没意义,肯定是你代码有问题,自己打印一些信息,帮助你调试 解决方案二: 怎么不正常显示了,是不是错位了,看看你刷新的图片是不是每次都会不一样大小,把布局弄乱了 解决方案三: Android酱油笔记之Gridview第一个item点击效果问题