前几天写了点击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)...相关推荐

  1. vue 点击弹出文字_vue事件点击穿透解决大法,看这篇文章就够了

    作者/sherry 最近在做项目的过程中遇到一个非常奇葩的bug,在h5页面点击一个按钮弹出弹窗,但是这个弹窗刚出现就会自动消失,导致屏幕出现闪动现象,关键这个bug还是偶现的. 经过一番研究才发现是 ...

  2. android listView嵌套gridview的使用心得

    在开发的过程中可能需要用到listview嵌套gridview的场景,但是在Android中, 不能在一个拥有Scrollbar的组件中嵌入另一个拥有Scrollbar的组件,因为这不科学,会混淆滑动 ...

  3. Flutter中用ListView嵌套GridView报错异常

    Flutter中用ListView嵌套GridView报错异常 参考文章: (1)Flutter中用ListView嵌套GridView报错异常 (2)https://www.cnblogs.com/ ...

  4. 用于解决listview嵌套GridView时显示不全的问题。

    package com.yetu.ofmy; import android.view.MotionEvent; import android.widget.ListView; /** * * @Cla ...

  5. android listview嵌套progreesbar更新进度 ftp

    效果:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  图片上传不了? 本文能实现的功能 :listview嵌套progressbar实现进度显示上传,上传完毕后移除,继续上传未 ...

  6. ListView嵌套RecyclerView遇到的一些坑以及解决办法

    首先看下需求 要实现这个页面首先 我想到的是ListView嵌套RecyclerView,那么开动

  7. ListView和条目点击事件、条目长按事件

    step1:创建一个LinearLayout线性布局,属性值为vertical 里面写一个ListView列表控件 <ListViewandroid:id="@+id/listView ...

  8. 解决listview 嵌套listview

    这几个文件是我从某位大神的简书上得来的,但是一时找不到这位仁兄,如果看到,请联系我,我将注明转载地址.(本人新人) 前段时间公司要开发一个软件产品,项目经理和我们的设计狮发过来一份UI,看到这份UI当 ...

  9. listview嵌套listview

    第一种实现方式:这种方式有个问题就像我项目中的问题,子列中的值如果是加减变化的,对应的每个父类的item的总价格会动态变化的话用此方式就会出现一定的问题,如果不需要实现像我项目图中的实现的方式的话可以 ...

最新文章

  1. linux下如何察看哪个进程在写硬盘
  2. Spring中配置数据源的4种形式
  3. js操作DOM对象(节点的增删改)
  4. spring Boot Actuator使用
  5. zblog php mip,zblog网站改造百度MIP的教程仅针对zblog轻奢主题
  6. PAT 甲级 1004
  7. 基于高斯分布和OneClassSVM的异常点检测
  8. STM32相关手册使用记录
  9. alien rpm deb,ubuntu下安装jdk过程及遇到的问题
  10. 换热站实际应用程序:西门子200smart PLC与威纶通触摸屏换热站程序
  11. ajax 传实体对象,前端ajax或axios发送数据后端实体类接受(实例和报错原因)
  12. 软件测试管理与组织结构
  13. 运维(6) Nacos开启连接密码安全认证
  14. FFmpeg视频录制(WIN)
  15. 搬砖: web音频流转发之音视频直播
  16. Week11——C密文
  17. 浅谈SEO的优化问题
  18. Python学习笔记六——画小猪佩奇
  19. [Java笔记]day15
  20. 图基准数据集(OGB)

热门文章

  1. 经管资源库项目的总结笔记
  2. 继续说说美国互联网版权监管法案(SOPA)
  3. 能赢球只拿12分也行 麦蒂明言不和姚明争老大
  4. 屏幕边框闪光_写给想入手21:9的屏幕党,明基 EX3501R 真香跳坑指南
  5. mysql数据库表的连接查询_mysql数据库多表连接查询问题
  6. 简介nandflash、norflash、ram、sram、dram、rom、eeprom、flash的区别
  7. 云上人第七代产品简单的代码
  8. python实现多个gui互相协作或这多个软件同时服务一个业务的方式
  9. C# 删除文件错误 access denied
  10. 【Java例题】4.3 3. 使用Gauss消元法求解n元一次方程组的根,