0

我目前正在通过从单个布局文件 RecordNoteBox.axml 膨胀来实例化多个视图实例

RecordNoteBox.axml

<?xml version="1.0" encoding="utf-8"?>

<app.droid.views.custom.PagedFragmentRecordNoteBox
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/rb_record_note_box"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:background="#FF555555">

由于我没有专门将每个实例的 Id(数字)设置为唯一的非零值,它们都引用同一个实例,因此通过一个引用更改内容会导致它们显示在所有其他“屏幕”中视图的副本”(因为没有更好的术语)。

出于性能原因,这是首选方法

(A) 将每个实例的 .Id 值设置为唯一值(整数)

static int _idCount = 1;

View box1 = _inflater.Inflate(Resource.Layout.RecordNoteBox, null);
View box2 = _inflater.Inflate(Resource.Layout.RecordNoteBox, null);

box1 = _idCount++;
box2 = _idCount++;

(B) 制作布局文件的多个副本,给每个副本一个特定的名称

View box1 = _inflater.Inflate(Resource.Layout.RecordNoteBox1, null);
View box2 = _inflater.Inflate(Resource.Layout.RecordNoteBox2, null);

或者它真的很重要吗?谢谢!

4

1 回答 1

1

ID 仅在您使用 时才重要findViewById(),您不需要在此处执行此操作,因为您已经引用了各个视图。我不会费心去做A或B。

于 2013-07-21T18:58:18.737 回答