开发者

How to get the index of particular view OR ViewGroup which is added to the ViewGroup(layout)

<TextView android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:layout_margin="24dip"
    android:text="Add Notes" />
<TableLayout android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:layout_marginLeft="24dip"
    android:layout_marginRight="24dip" android:id="@+id/tlNotes"
    android:stretchColumns="0">
</TableLayout>

<Button android:id="@+id/bAddNoteLine"
    android:layout_marginLeft="24dip" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:text="ADD">
</Button>

<LinearLayout android:id="@+id/llIndex"
    android:orientation="horizontal" android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:layout_margin="21dip"
    android:gravity="center">
    <Button android:id="@+id/bSaveSubjectiveNote"
        android:layout_width="192dip" android:layout_height="wrap_content"
        android:text="Save" />
    <Button android:id="@+id/bDiscardSubjectiveNote"
        android:layout_width="192dip" android:layout_height="wrap_content"
        android:layout_marginLeft="48dip" android:background="@drawable/button"
        android:text="Discard" />
</LinearLayout>

how to retrieve the index of linearLa开发者_如何学JAVAyout which has "llIndex" as id. Thanks


Very simple - call the indexOfChild function on the view's parent:

LinearLayout addNoteLayout = (LinearLayout) findViewById(R.id.llAddNote);
int index = ((ViewGroup) addNoteLayout.getParent()).indexOfChild(addNoteLayout);


When you create the XML, there is a file yourpackage.generated.R.java that is created with all the ids/drawables/etc in it. So to reference it, import the generated R.java into your class, then do this (assuming you're in an Activity):

setContentView(R.layout.my_content);
LinearLayout addNoteLayout = (LinearLayout) findViewById(R.id.llAddNote);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜