LISTVIEW嵌套GRIDVIEW的一些处理(点击GRIDVIEW的条目,能够显示他在LISTVIEW中的位置)(对这篇文章的优化处理,不每次都new onItemClickListener)...
前几天写了点击GRIDVIEW的条目,能够显示他在LISTVIEW中的位置,当时的处理是在ListView的适配器里的GetView方法里每次都new GridView的onItemClickListener,这样显然是不合理的,
/**GridVIew的条目点击监听*/private GvOnItemClickListener mGvOnItemClickListener;//成员
这是Fragment的入口:
@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {View view = inflater.inflate(R.layout.fragment_message_firends, null);//ViewGroup ?ButterKnife.bind(this, view);mObserver = new MyObserver();//创建一个观察者对象//创建一个访问网络的ControlMessage_Net_Control control = new Message_Net_Control(this);control.getFriendsShareFromServer();//访问网络并且解析JsonmListView.setDivider(null); mGvOnItemClickListener=new GvOnItemClickListener();return view;}
这是ListView的适配器的GetView方法:
@Overridepublic View getView(int i, View convertView, ViewGroup viewGroup) {final ViewHolder holder;if (convertView != null) {holder = (ViewHolder) convertView.getTag();} else {convertView = View.inflate(UIUtils.getContext(), R.layout.lv_item_message_friends, null);holder = new ViewHolder(convertView);convertView.setTag(holder);}//获取某条分享的动态Message_Responce_Info.EveryShareInfo info = mResults_list.get(i);//获取当前分享动态的所有回复的集合ArrayList<Message_Responce_Info.EveryShareInfo.Reply> replys = info.getPub_com();//动态添加评论之前先移除评论线性布局里的所有子View holder.ll_comment_message_friends.removeAllViews();for (int j = 0; j < replys.size(); j++) {TextView textView = new TextView(UIUtils.getContext());textView.setPadding(0, 8, 0, 0);textView.setText(replys.get(j).getPc_name() + ": " + replys.get(j).getPc_txt());textView.setTextColor(Color.DKGRAY);holder.ll_comment_message_friends.addView(textView);}holder.tvUserName.setText(info.getPub_frd_name());//设置好友动态分享者的名字holder.tvTime.setText(info.getPub_datetime());//设置分享这条动态的时间holder.tvSaySth.setText(info.getPub_context());//设置分享动态的内容 ArrayList<String> small_pics = info.getPub_th_img();//说说图片的缩略图集合 holder.gv.setTag(i);//给当前的GridView设置一个位置标记//在设置GridVIewAdapter的时候先传进去listView的条目位置Message_Friends_GridViewAdapter gridAdapter = new Message_Friends_GridViewAdapter(small_pics);holder.gv.setAdapter(gridAdapter);//设置GridView的适配器//给GridView设置条目点击监听 holder.gv.setOnItemClickListener(mGvOnItemClickListener);//显示用户头像ImageLoader.getInstance().displayImage(GlobalConstant.SERVER_URL + "/" + info.getPub_frd_head(), holder.ivUserFace);return convertView;}
点击监听,在成员里
/**自定义的GridView的点击监听*/class GvOnItemClickListener implements AdapterView.OnItemClickListener{/**** @param adapterView 相当于Holder,ListVIew的条目,在这里相当于ListView里的GridViewEx* @param view 表示GridView的条目* @param position GridVIew里的条目位置* @param l*/@Overridepublic void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {int lv_item_position= (Integer) adapterView.getTag();//GridView在ListView条目里的位置//点击的这条说说信息Message_Responce_Info.EveryShareInfo shareInfo = mResults_list.get(lv_item_position);ArrayList<String> big_pics = shareInfo.getPub_img();//大图集合Intent intent = new Intent(UIUtils.getContext(), MessageImageShowActivity.class);intent.putStringArrayListExtra("bigPics",big_pics);//把说说图片的大图集合传过去intent.putExtra("bigPicPostion",position);//把点击的那个说说图片位置传过去 startActivity(intent);}}
这样每次只new 一个onItemClickListener,并且也达到了效果。
转载于:https://www.cnblogs.com/android-yus/p/5098206.html
LISTVIEW嵌套GRIDVIEW的一些处理(点击GRIDVIEW的条目,能够显示他在LISTVIEW中的位置)(对这篇文章的优化处理,不每次都new onItemClickListener)...相关推荐
- vue 点击弹出文字_vue事件点击穿透解决大法,看这篇文章就够了
作者/sherry 最近在做项目的过程中遇到一个非常奇葩的bug,在h5页面点击一个按钮弹出弹窗,但是这个弹窗刚出现就会自动消失,导致屏幕出现闪动现象,关键这个bug还是偶现的. 经过一番研究才发现是 ...
- android listView嵌套gridview的使用心得
在开发的过程中可能需要用到listview嵌套gridview的场景,但是在Android中, 不能在一个拥有Scrollbar的组件中嵌入另一个拥有Scrollbar的组件,因为这不科学,会混淆滑动 ...
- Flutter中用ListView嵌套GridView报错异常
Flutter中用ListView嵌套GridView报错异常 参考文章: (1)Flutter中用ListView嵌套GridView报错异常 (2)https://www.cnblogs.com/ ...
- 用于解决listview嵌套GridView时显示不全的问题。
package com.yetu.ofmy; import android.view.MotionEvent; import android.widget.ListView; /** * * @Cla ...
- android listview嵌套progreesbar更新进度 ftp
效果:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 图片上传不了? 本文能实现的功能 :listview嵌套progressbar实现进度显示上传,上传完毕后移除,继续上传未 ...
- ListView嵌套RecyclerView遇到的一些坑以及解决办法
首先看下需求 要实现这个页面首先 我想到的是ListView嵌套RecyclerView,那么开动
- ListView和条目点击事件、条目长按事件
step1:创建一个LinearLayout线性布局,属性值为vertical 里面写一个ListView列表控件 <ListViewandroid:id="@+id/listView ...
- 解决listview 嵌套listview
这几个文件是我从某位大神的简书上得来的,但是一时找不到这位仁兄,如果看到,请联系我,我将注明转载地址.(本人新人) 前段时间公司要开发一个软件产品,项目经理和我们的设计狮发过来一份UI,看到这份UI当 ...
- listview嵌套listview
第一种实现方式:这种方式有个问题就像我项目中的问题,子列中的值如果是加减变化的,对应的每个父类的item的总价格会动态变化的话用此方式就会出现一定的问题,如果不需要实现像我项目图中的实现的方式的话可以 ...
最新文章
- linux下如何察看哪个进程在写硬盘
- Spring中配置数据源的4种形式
- js操作DOM对象(节点的增删改)
- spring Boot Actuator使用
- zblog php mip,zblog网站改造百度MIP的教程仅针对zblog轻奢主题
- PAT 甲级 1004
- 基于高斯分布和OneClassSVM的异常点检测
- STM32相关手册使用记录
- alien rpm deb,ubuntu下安装jdk过程及遇到的问题
- 换热站实际应用程序:西门子200smart PLC与威纶通触摸屏换热站程序
- ajax 传实体对象,前端ajax或axios发送数据后端实体类接受(实例和报错原因)
- 软件测试管理与组织结构
- 运维(6) Nacos开启连接密码安全认证
- FFmpeg视频录制(WIN)
- 搬砖: web音频流转发之音视频直播
- Week11——C密文
- 浅谈SEO的优化问题
- Python学习笔记六——画小猪佩奇
- [Java笔记]day15
- 图基准数据集(OGB)
热门文章
- 经管资源库项目的总结笔记
- 继续说说美国互联网版权监管法案(SOPA)
- 能赢球只拿12分也行 麦蒂明言不和姚明争老大
- 屏幕边框闪光_写给想入手21:9的屏幕党,明基 EX3501R 真香跳坑指南
- mysql数据库表的连接查询_mysql数据库多表连接查询问题
- 简介nandflash、norflash、ram、sram、dram、rom、eeprom、flash的区别
- 云上人第七代产品简单的代码
- python实现多个gui互相协作或这多个软件同时服务一个业务的方式
- C# 删除文件错误 access denied
- 【Java例题】4.3 3. 使用Gauss消元法求解n元一次方程组的根,