这是目前(20151118)的理解,以后是否会有更改,再说......
1、
假设 GridView 的item的布局文件为item.xml :
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 android:background="#0000FF" 5 android:layout_width="fill_parent" 6 android:layout_height="wrap_content"> 7 <TextView 8 android:id="@+id/ItemText" android:bufferType="normal" 9 android:singleLine="true" android:background="#FF0000" 10 android:layout_width="fill_parent" android:gravity="center" 11 android:layout_margin="1dip" android:layout_gravity="center" 12 android:layout_height="wrap_content" > 13 </TextView> 14 </LinearLayout>
2、
GridView 设置背景色:
GridView gv = (GridView)findViewById(R.id.gridView1);
gv.setBackgroundColor(0x0);
3、
事件 -- 点击 各个 item 的事件:
1 gv.setOnItemClickListener(new OnItemClickListener() 2 { 3 @Override 4 public void onItemClick(AdapterView<?> _parent, View _view, int _position, long _id) 5 { 6 // ZC: _parent : 本GridView对应的Adapter 7 // _view : 是当前item的view,通过它可以获得该项中的各个组件。 8 // _position : 是当前的item在listView中的相对位置! 9 // _id : 是当前item的ID。这个id根据你在适配器中的写法可以自己定义。 10 TextView tv = (TextView)_view.findViewById(R.id.ItemText); 11 //HashMap tv = (HashMap)_parent.getItemAtPosition(_position); 12 tv.setBackgroundColor(0xFFC0C0C0); 13 14 // http://blog.csdn.net/chinaguangzhou000000/article/details/6697184 15 Log.i("ZZZ", "ItemClick(1) : "+Integer.toString(_parent.getCount())); 16 } 17 });
4、
事件 -- GridView滚动条滚动 的事件:
1 gv.setOnScrollListener(new OnScrollListener() 2 { 3 4 @Override 5 public void onScrollStateChanged(AbsListView view, int scrollState) 6 { 7 //正在滚动时回调,回调2-3次,手指没抛则回调2次。scrollState = 2的这次不回调 8 //回调顺序如下 9 //第1次:scrollState = SCROLL_STATE_TOUCH_SCROLL(1) 正在滚动 10 //第2次:scrollState = SCROLL_STATE_FLING(2) 手指做了抛的动作(手指离开屏幕前,用力滑了一下) 11 //第3次:scrollState = SCROLL_STATE_IDLE(0) 停止滚动 12 //当屏幕停止滚动时为0;当屏幕滚动且用户使用的触碰或手指还在屏幕上时为1; 13 //由于用户的操作,屏幕产生惯性滑动时为2 14 15 //当滚到最后一行且停止滚动时,执行加载 16 //if (isLastRow && scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) { 17 // //加载元素 18 // ...... 19 } 20 21 @Override 22 public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) 23 { 24 Log.i("ZZZ", Integer.toString(firstVisibleItem)+" , "+Integer.toString(visibleItemCount)+" , "+Integer.toString(totalItemCount)); 25 26 //滚动时一直回调,直到停止滚动时才停止回调。单击时回调一次。 27 //firstVisibleItem:当前能看见的第一个列表项ID(从0开始) 28 //visibleItemCount:当前能看见的列表项个数(小半个也算) 29 //totalItemCount:列表项共数 30 31 //判断是否滚到最后一行 32 //if (firstVisibleItem + visibleItemCount == totalItemCount && totalItemCount > 0) { 33 // isLastRow = true; 34 } 35 });
参考网页:
1、
android中gridView中点击 item为选中状态 - 无线.无极线 - 博客频道 - CSDN.NET.html
http://blog.csdn.net/chinaguangzhou000000/article/details/6697184
2、
使用OnScrollListener回调处理自动加载更多 - fancychendong的专栏 - 博客频道 - CSDN.NET.html
http://blog.csdn.net/fancylovejava/article/details/39369753
3、
android Gridview 点击某个item 改变item的背景 - H_hong的日志 - 网易博客.html
http://blog.163.com/zhuowh2006@126/blog/static/101823724201314103631112/
网页内容保存于:百度云 codeskill33 --> "全部文件 > 来自__网页 > Android_Eclipse > GridView事件" --> GridView事件__20151118_0838.rar
X