按ID和顺序获取元素

时间:2017-07-28 01:40:01

标签: android

Android新手在这里,

我有一个显示项目列表的应用程序。每个项目都是这样的。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/AppTheme.FrameLayout"
    android:id="@+id/job_list_item_main_frame">

    <!-- cut inside code for example -->

</FrameLayout>

屏幕上可能同时有10到100个。我需要为单独的过程获得第一个元素的高度。

如何选择此元素?

编辑:它始终是我需要检索的列表中的第一个项目。但是,如果有办法单独选择每个项目(具有id job_list_item_main_frame)并获得它的位置,那将是理想的。

编辑2:我正在制作一个教程。有一个指向图像的重叠箭头。但是,图像位置会根据列表项的高度变化约20dp。所以我需要根据列表项对箭头进行调整。 它位于Recycler View。让我快速检查一下它使用的适配器。

2 个答案:

答案 0 :(得分:1)

在适用于RecyclerView

的适配器中
@Override
public void onBindViewHolder(AcceptViewHolder h, int position) {
    //position variable can be used to modify and alter 
    //any value you want
}

例如,如果你需要隐藏第3个元素,你可以做这样的事情

if (position == 2) {
    //do something here   
}

答案 1 :(得分:1)

在适配器中,您有方法onBindViewholder(viewholder, position);

在该方法中,您可以检查position是否为0.如果是这种情况,您很可能会引用您需要的视图。像viewholder.yourView

这样的东西

在该视图上,您​​可以获取LayoutParams并从那里获取hight

唯一的问题是,如果我不是错误的话,hight是以像素为单位的,如果你需要在dp中,你必须进行特定于设备的转换。

如果您需要进一步指导您的适配器。