android viewholder静态,android – 静态ViewHolder并在使用RecyclerView时获取上下文
我正在尝试使用回收器视图并处理单击事件.我已经阅读了在回收站视图项上处理onClick事件的各种方法,例如:
>在视图持有者类本身内定义单击侦听器.
>在onCreateViewHolder()中定义单击侦听器.
>定义一个界面,然后从那里开始(似乎工作太多).
所以我的第一个问题是哪个选项更好?
我目前正在使用第一种方法,如果在视图持有者类中定义单击侦听器本身就是方法,那么如何使用适配器中的上下文,因为视图持有者类是静态的.
基本上,我想拥有一个静态视图持有者,并且在click事件上,打开一个我需要上下文的新Activity.
更新:添加适配器和ViewHolder代码.
public class MyAdapter extends RecyclerView.Adapter {
private Context mContext;
private List jobs;
public MyAdapter(Context context, List jobs) {
mContext = context;
this.jobs = jobs;
}
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View itemLayoutView = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.list_item, viewGroup, false);
itemLayoutView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mContext, MyActivity.class);
mContext.startActivity(intent);
}
});
return new ViewHolder(itemLayoutView);
}
@Override
public void onBindViewHolder(WorkExperienceAdapter.ViewHolder viewHolder, int i) {
//bindViewHolder code
}
}
@Override
public int getItemCount() {
return jobs.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
@InjectView(R.id.current)
TextView mCurrent;
public ViewHolder(View itemView) {
super(itemView);
ButterKnife.inject(this, itemView);
}
}
}
解决方法:
在视图持有者构造函数中,我们获得了View类的对象.您可以使用该对象来获取上下文:
class Holder extends RecyclerView.ViewHolder {
public Holder(View itemView) {
super(itemView);
Context context = itemView.getContext();
}
}
标签:android,android-recyclerview,onclick
来源: https://codeday.me/bug/20190727/1556267.html
android viewholder静态,android – 静态ViewHolder并在使用RecyclerView时获取上下文相关推荐
- Android 动态广播与静态广播
学而时习,稳固而之心 目前推荐使用动态广播,现在已经很就没有使用过静态广播了. 动态广播与静态广播的联系 1 动态广播的速度要快于静态广播 2 静态广播的生存期可以比动态广播的长很多 在Manifes ...
- Android NDK 使用第三方静态库(转)
源:Android NDK 使用第三方静态库 转载于:https://www.cnblogs.com/LittleTiger/p/4556382.html
- android 初始化类,Android 常用编程技巧/Java类的初始化顺序 (静态变量、静态初始化块、变量、初始化块、构造器)...
1.设置屏幕的亮度: WindowManager.LayoutParams lp=getWindow().getAttributes(); lp.screenBrightness=1.0f; getW ...
- Android笔记 fragment入门 静态加载fragment
fragment最初目的:为了方便平板开发界面的美化 fragment引入原因 一般市面上的软件Activity太过庞杂 每一个Activity都要在清单文件配置 清单文件也比较臃肿查找修改不便 因此 ...
- android适配器封装,Android万能适配器(一)封装ViewHolder
封装 ViewHolder 简单分析ViewHolder封装.ViewHolder内部正常是保存每个页面控件的索引,那么封装时候我们可以使用容器把每个Item布局中的所有控件存储到这个容器里面,每次使 ...
- android 静态_Google静态地图Android
android 静态 In this tutorial we're going to implement a google static maps in our android application ...
- Android手机静态ip地址网关,安卓手机Android 4.0系统静态ip设置方法【详解】
安卓系统Android 4.0推出之后,很多网友都进行了版本的更新,但是,一些更新了Android 4.0系统的用户,表示,自从版本升级之后,就不能使用静态IP,这是怎么回事呢?小编经过研究后发现,并 ...
- android holder 内部类,Android RecyclerView中的ViewHolder
在使用android提供的组件以列表的格式显示数据时,使用过ListView组件和RecyclerView组件.目前一般推荐使用RecyclerView,因为RecyclerView本身的缓存和效率比 ...
- Android 自定义 Lint 实现静态代码扫描工具
文章目录 关于静态代码扫描工具 Lint的简单使用 一.Lint 与 IDE 的结合使用 二.Lint 与 gradle 命令的结合使用 具体位置如下图: 生成的HTML在浏览器打开如图: 自定义 L ...
最新文章
- 2059-authentication plugin 'caching_sha2_passwordcnnot bt loaded :mysql8.0数据库链接不上:
- MOS管好坏的判别方法
- linux bash shell之declare
- 汽车之家全系车型(包含历史停售车型)图片--参数分析
- edittext 选中焦点在最后_安卓开发中EditText的焦点改变处理(获取焦点和失去焦点交互变化)...
- linux du -h按文件大小,【玩转linux命令】du党
- Mysql大数据中表分区的应用
- 解读大型网站系统架构的演化
- java空心字木塔_我国七个千年古塔:第四个空心没有塔顶,最后一个是木塔无钉无铆...
- 程序员写三十行代码,被应届生怼:我能三行搞定!也配叫程序员?
- webvector将html转为svg或者png图片的工具
- 针对我国——国产数据库进行分析
- oracle 函数 如何编写
- 用Multisim对高频丙类谐振功率放大器进行仿真
- linux 快速 命令快捷键,Linux的150个命令和快捷键 整理
- 上海车展6大热门车型自动驾驶配置梳理
- ubuntu安装wps后缺少字体无法打开
- 高校选课系统的设计与实现
- python返回索引值_python取索引值
- javascript学习笔记-基础语法篇
热门文章
- python xlrd模块下载_python xlrd模块介绍
- 解决:git clone --depth=1 -q -b fix/ie-cannot-input-korean git://github.com/sohee-lee7/Squire.git
- 胶囊网络(Capsule)学习笔记
- 不止于1000节点! 浪潮云海完成全球最大规模单一集群云数智融合实践
- NinePatch图(9-Patch图,.9图)
- yml 配置 mapper-locations 支持多级目录
- TreeView简单介绍
- JAVA Email——利用java完成发送电子邮件(包括附件)
- np.linspace
- macOS Android Studio 如何设置Emulator模拟器独立运行