GridView 事件_ZZ

这是目前(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

 

转载于:https://www.cnblogs.com/codeskilla/p/4973427.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值