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

Allen Lu~ 2015-11-19 02:47:46
在gridView上手指移动,在移动路径上的item背景颜色发生改变! 如图:
本人的思路:
是在Activity里面创建了一个手势的内部类,重写onSroll方法(这个方法是判断用户手势按下之后移动的事件),因为GridView监听是写在activity里面的,在内部类里面的onSroll里面把gridView的监听写在这个里面;gridView监听里面判断position是否相等,然后new adapter类的对象通过对象调用getDropDownView的方法(android的方法,getView差不多)取到显示在item上面的textView的id 然后通过textView对象设置背景颜色,实现上图! 但是发现运行起来的时候只有点击有反应 滑动的时候并没有反应! 求大神解答! 以下是Demo的详细片段:

存在activity中的内部类:
	private class MyGestureListener extends SimpleOnGestureListener {

@Override
public boolean onScroll( MotionEvent e1, MotionEvent e2, float distanceX, float distanceY ) {
int gvFlag = 0; // 每次添加gridview到viewflipper中时给的标记

if ( e1.getX() - e2.getX() > 30 ) {
// 像左滑动
// enterNextMonth(gvFlag);
// lessonDateAdapter.getItem(position);
// Log.d("---->", "::" + gridView.getChildCount());
// gridView.setBackgroundColor(Color.RED);
getMonitor();
return true;
} else if ( e1.getX() - e2.getX() < -30 ) {
// 向右滑动
// enterPrevMonth(gvFlag);
getMonitor();
return true;
}
return false;
}
}


activity中的gridView监听事件:
	public void getMonitor() {
gridView.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick( AdapterView<?> parent, View view, int position, long id ) {

// 点击任何一个item,得到这个item的日期(排除点击的是周日到周六(点击不响应))
int startPosition = calV.getStartPositon();
int endPosition = calV.getEndPosition();
if ( startPosition <= position + 7 && position <= endPosition - 7 ) {
/** 用户点击后弹出对话框 */
if ( gridView.getItemIdAtPosition(position) == position ) {
//adapter是new的gridView适配器类的对象;
adapter.getDropDownView(position, view, null);
// tv_gvItem.setText("----");
}
}
}
});
}


adapter中重写的方法:
	@Override
public View getDropDownView( int position, View convertView, ViewGroup parent ) {
textView = (TextView) convertView.findViewById(R.id.tvtext);
if ( position == getItemId(position) ) {
textView.setTextColor(Color.BLUE);
} else {
textView.setTextColor(Color.RED);
}

Log.d("---->", ":::" + textView);
return convertView;

}
...全文
80 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
水的川 2015-11-19
  • 打赏
  • 举报
回复
1027462601加我,帮你写了个demo、、
JPF1024 2015-11-19
  • 打赏
  • 举报
回复
http://www.cnblogs.com/mengdd/p/3394345.html 用onTouch实现试试。
Allen Lu~ 2015-11-19
  • 打赏
  • 举报
回复
没有能答上来的么?
Allen Lu~ 2015-11-19
  • 打赏
  • 举报
回复
等解决~~~~
Allen Lu~ 2015-11-19
  • 打赏
  • 举报
回复
求解决,在线等!

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧