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
。让我快速检查一下它使用的适配器。
答案 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中,你必须进行特定于设备的转换。
如果您需要进一步指导您的适配器。