GridView单选效果 点击选中一项时,再点击选中另一项时改变背景,原来选中的项取消换回原来的背景
2014-12-18 09:46
525 查看
/** *xml Item部分 */ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="wrap_content" tools:context=".MainActivity" > <ImageView android:id="@+id/imageview" android:padding="10dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:src="@drawable/icon_checkbox_normal" android:clickable="true"/> </RelativeLayout>
/** *xml部分 */ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal" tools:context=".MainActivity" > <GridView android:id="@+id/gridview_radio" android:layout_width="match_parent" android:layout_height="wrap_content" android:numColumns="4" android:padding="10dp" android:horizontalSpacing="4dp" android:verticalSpacing="4dp" android:gravity="center"/> </RelativeLayout>
/** *java部分 */ public class MainActivity extends Activity { private int icon[] = { R.drawable.icon_checkbox_normal, R.drawable.icon_checkbox_normal, R.drawable.icon_checkbox_normal, R.drawable.icon_checkbox_normal, R.drawable.icon_checkbox_normal, R.drawable.icon_checkbox_normal, R.drawable.icon_checkbox_normal, R.drawable.icon_checkbox_normal }; MyAdapter myAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 定义Adapter,不用每次new myAdapter = new MyAdapter(); GridView gridview_radio = (GridView) findViewById(R.id.gridview_radio); gridview_radio.setAdapter(myAdapter); gridview_radio.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub myAdapter.setSeclection(position); myAdapter.notifyDataSetChanged(); } }); } class MyAdapter extends BaseAdapter { private int clickTemp = -1; // 标识选择的Item public void setSeclection(int position) { clickTemp = position; } @Override public int getCount() { // TODO Auto-generated method stub return icon.length; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return icon[position]; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // Holder 是设计个静态类,缓存一下,避免Listview更新的时候,重新操作。 Holder holder = null; if (convertView == null) { holder = new Holder(); convertView = View.inflate(MainActivity.this, R.layout.activity_main_item, null); holder.imageView = (ImageView) convertView .findViewById(R.id.imageview); convertView.setTag(holder); } else { holder = (Holder) convertView.getTag(); } if (clickTemp == position) { holder.imageView .setImageResource(R.drawable.icon_checkbox_checked); } else { holder.imageView .setImageResource(R.drawable.icon_checkbox_normal); } return convertView; } } static class Holder { ImageView imageView; } }
相关文章推荐
- android Gridview 点击某个item 改变item的背景(不是点击效果是选中效果)
- 如何取消点击GridView时的默认背景效果
- 全选,取消全选gridview中的checkbox, 点击某一项的checkbox时,自动识别是否应该将checkAll设为选中还是非选中
- GrideView点击某个item实现选中效果,改变item的背景颜色
- gridview选中效果的实现,选中的改变背景。同时只有一个能被选中
- 我的Android进阶之旅------>Android如何去除GridView的按下或点击选中后的背景效果
- gridview,点击选中一个或多个item,并改变item背景颜色,字体等
- 去掉gridview点击背景有黄色选中效果
- listview、GridView单点击效果,点击改变背景改变item字体颜色实现
- ListView点击item改变背景,重新选中另一项刷新,默认是选中第一项的状态
- js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
- android selector 背景选择器的使用, button (未点击,点击,选中保持状态)效果实现
- winform中GridView控件在选中一行后改变选中行的背景颜色
- iOS 点击cell改变背景颜色或者图片&&cell中其他部分取消高亮显示
- UIButton取消点击后的highlight效果(有背景图片)
- 点击Gridview行,选中/取消选中,当前行中的Checkbox
- ActivityGroup 实现分页和自定义标签(内有GridView的点击背景样式的改变方法)
- Extjs tree 点击选中的节点 改变背景
- Jquery实现对a标签改变选中的背景色 支持多选 再次点击背景色消失
- Android中如何取消或定制当点击GridView的时候出现的那个黄色背景?