Android中GridView中Item点击背景图片的显示改变
2012-12-25 17:18
573 查看
今天在看代码的时候发现一个问题。关于gridView点击其中的item选项而改变这个选项的背景的问题。这里我把我的想法写出来,希望对大家有所帮助。
在我们点击每个Item的时候,记录它的是由position来实现的。在adapter中我们把这个position当作一个已知的值来赋值给一个变量a,在getView中通过判断值a与参数position是否相等来改变convertView的背景色。这样就能简单的实现点击相应每个点击的效果。
在需要adapter的类中,我们可以通过adapter的实例来控制其中设置变量值a的方法来实现对点击所在位置的值的监听。然后通过notifyDataSetChanged()来刷新。
如果上面的都做了以后就基本实现了简单的item点击变换背景的效果了。
在adapter中标识变量:
public void setClick(int position){
a = position;
}
在getView中设置监听:
public View getView(int position, View convertView, ViewGroupparent) {
.....//
// 点击改变选中Item的背景色
if (a == position) {
convertView.setBackgroundResource(int值);
} else {
convertView.setBackgroundColor(值);
}}
.....//
}
在需要adapter的类中:
//initView初始化UI时,GridView监听事件
designOrderGridView.setOnItemClickListener(newOnItemClickListener() {
@Override
public voidonItemClick(
AdapterView<?>
parent, View view, int position,long id
) {
........//其他代码
//设置适配器
adapter.setClick(position);
adapter.notifyDataSetChanged();
........//其他代码
}
});
对上面的代码的一些小解释:
OrderGridView.setOnItemClickListener(newOnItemClickListener() {
@Override
public voidonItemClick(AdapterView<?> parent, View view, int position,
long id)
各项的意义:parent是点击的当前适配器
view是当前item的view,通过它可以获得该项中的各个组件。
position是当前item的ID。这个id根据你在适配器中的写法可以自己定义。
id是当前的item在listView中的相对位置!
在我们点击每个Item的时候,记录它的是由position来实现的。在adapter中我们把这个position当作一个已知的值来赋值给一个变量a,在getView中通过判断值a与参数position是否相等来改变convertView的背景色。这样就能简单的实现点击相应每个点击的效果。
在需要adapter的类中,我们可以通过adapter的实例来控制其中设置变量值a的方法来实现对点击所在位置的值的监听。然后通过notifyDataSetChanged()来刷新。
如果上面的都做了以后就基本实现了简单的item点击变换背景的效果了。
在adapter中标识变量:
public void setClick(int position){
a = position;
}
在getView中设置监听:
public View getView(int position, View convertView, ViewGroupparent) {
.....//
// 点击改变选中Item的背景色
if (a == position) {
convertView.setBackgroundResource(int值);
} else {
convertView.setBackgroundColor(值);
}}
.....//
}
在需要adapter的类中:
//initView初始化UI时,GridView监听事件
designOrderGridView.setOnItemClickListener(newOnItemClickListener() {
@Override
public voidonItemClick(
AdapterView<?>
parent, View view, int position,long id
) {
........//其他代码
//设置适配器
adapter.setClick(position);
adapter.notifyDataSetChanged();
........//其他代码
}
});
对上面的代码的一些小解释:
OrderGridView.setOnItemClickListener(newOnItemClickListener() {
@Override
public voidonItemClick(AdapterView<?> parent, View view, int position,
long id)
各项的意义:parent是点击的当前适配器
view是当前item的view,通过它可以获得该项中的各个组件。
position是当前item的ID。这个id根据你在适配器中的写法可以自己定义。
id是当前的item在listView中的相对位置!
相关文章推荐
- android gridview点击子选项动态改变item背景颜色
- android Gridview 点击 item 改变item的背景
- Android中在点击GridView的item时改变其背景
- android Gridview 点击某个item 改变item的背景
- android Gridview 点击某个item 改变item的背景
- android Gridview 点击某个item 改变item的背景
- android Gridview 点击某个item 改变item的背景(不是点击效果是选中效果)
- Android GridView子元素item按击交互设计:背景颜色改变
- 关于在Android中如何点击GridView或者ListView中item子项达到修改子项背景的问题解决方案
- iOS 点击cell改变背景颜色或者图片&&cell中其他部分取消高亮显示
- android 在 ListView 的 item 中插入 GridView 仿微信朋友圈图片显示。
- android listview、GridView中item点击后改变其他item中的状态 setOnItemClickListener onItemClick
- Android GridView之实现单元格合并,以及第一个item点击无响应或显示不正常的解决方案
- 【Android笔记】listview点击或选中item改变item样式或背景
- Android应用程序当中GridView显示不同大小图片时Item挤出问题解决办法
- android中的CheckBox改变背景图片后图片显示大小不正确的问题
- android GridView通过代码设置,取消item点击时的黄色背景
- Android应用程序当中GridView显示不同大小图片时Item挤出问题解决办法
- GridView的最后固定显示一个增加图片,点击图片动态增加内容item
- Android中在点击ListView的item时改变其背景