0

如何在父布局中获取视图 ID?我可以通过 id 获取视图,但是如果我可以通过视图获取 id 呢?

更新:我在做什么

我创建并添加到 LinearLayout 一些视图:

  LinearLayout ll = new LinearLayout();

// add few View
for (int i=0;i<100;i++){
    MyView mView = new MyView(this);

 // MyView has time field, and at creation time MyView stack ordered by time-field
    mView.setTime(anyTime+i);

 // When I click on mView - opens screen where I can modify time
    mView.setOnClickListener(listener);

 ll.addView(mView)
}

因此,在修改 mView 后,我将 mView 移动到正确的位置,为此我需要知道当前 MyView 的 LinearLayout (ll) 中的索引,上一个和下一个 MyView 的索引

更新 2:也许我需要 List 我将对 MyView 进行排序并重绘所有 LinearLayout

4

3 回答 3

0

XML

<ImageView
android:id="@+id/image1"
android:layout_height="WRAP_CONTENT"
android:layout_width="FILL_PARENT"
/>

ImageView imageView = new ImageView(this);
String imageName = "image1"// Your ImageView id name
int id = getResources().getIdentifier(imageName, "id", getPackageName());

获取标识符说明

希望对你有所帮助!!

于 2013-01-30T10:13:13.653 回答
0

在我看来 - 没有 ID 你无法访问视图。你可以去 tag.for 那个在视图中你可以 setTag() 并且你可以 getTag()。在某些情况下我们也可以使用 tag 作为 ID。

于 2013-01-30T10:16:52.450 回答
0

int ViewGroup.indexOfChild(View child) 会帮助我。当我测试所有的决定时,我会写更多。

于 2013-01-30T11:49:47.433 回答