【问题标题】:Does this leak the constructor in the view holder?这会泄漏视图持有者中的构造函数吗?
【发布时间】:2019-04-20 09:28:29
【问题描述】:

我正在阅读一种如何在回收站视图中点击项目的方法,建议是:

private class MyViewHolder extends RecyclerView.ViewHolder {  
    public MyViewHolder(View itemView) {  
        super(itemView);  
        itemView.setTag(this);  
        itemView.setOnClickListener(onItemClickListener);
    }  
}  

RecyclerView.ViewHolder viewHolder = (RecyclerView.ViewHolder) view.getTag();
int position = viewHolder.getAdapterPosition();

这种方法不会泄漏构造函数吗?

【问题讨论】:

    标签: java android android-recyclerview constructor android-viewholder


    【解决方案1】:

    我建议将您的持有者类定义为私有静态并且您不会泄漏。因​​为静态内部类的实例不包含对其外部类的隐式引用。

    【讨论】:

    • 这不是指外部类。我认为问题是在 costructor 范围内我们不应该公开对 this 的引用
    猜你喜欢
    • 2012-07-24
    • 2013-03-07
    • 2020-06-06
    • 2021-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多