簡體   English   中英

如何知道Android中的資源文件(xml)是否放大了視圖?

[英]How to know if a view was inflated from an resource file (xml) in 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. 將視圖持有者的標簽設置為父視圖的ID加上一些唯一的ID后綴,以便您仍可以區分多個項目。 既然標簽可以是任何東西,那為什么不呢?
  2. 如果您有多個父xml,請為每個子視圖定義不同的ID格式,以便通過查看子ID來判斷哪個是父。 例如

    父級

    子android:id =“ + @ id / parent1_view1”

    子android:id =“ + @ id / parent1_view2”

    /父母


    父級

    子android:id =“ + @ id / parent2_view1”

    子android:id =“ + @ id / parent2_view2”

    /父母

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM