如何知道视图是否从Android中的资源文件(xml)中膨胀?

时间:2017-08-18 16:38:29

标签: android

我有这个方法:

@Override
public ItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    LayoutInflater inflater = LayoutInflater.from(context);
    View inflated = inflater.inflate(R.layout.item_lunch_view, parent, false);

    return new ItemViewHolder(inflated);
}

有没有办法做到这一点?

ItemViewHolder holder = onCreateViewHolder();

if(holder.itemView.inflatedFrom(R.layout.item_lunch_view)){
    Log.i("stackoverflow", "Yes, this view was builded from R.layout.item_lunch_view");
}

1 个答案:

答案 0 :(得分:0)

不是真的。你应该重新考虑你的问题。以下是一些可以想到的解决方案:

  1. 将视图持有者的标记设置为父视图的id加上一些唯一的id后缀,以便您仍然可以区分多个项目。既然标签可以是什么,为什么不呢?
  2. 如果您有多个父xmls,请为每个父视图中的子视图定义不同的ID格式,以便通过查看子视图的ID可以判断哪一个是父视图。例如

    儿童安卓:id =“+ @ id / parent1_view1”

    儿童安卓:id =“+ @ id / parent1_view2”

    /父

    儿童安卓:id =“+ @ id / parent2_view1”

    儿童安卓:id =“+ @ id / parent2_view2”

    /父