我有一个ListView,其中包含多个TextView和一个自定义页脚边框。我希望ListView的最后一行消失。
我尝试过这样的事情:
if (position == arrayList.size() - 1) {
viewHolder.lineSeperator.setVisibility(View.GONE);
}
它正在工作但是当我滚动ListView时,行位置发生了变化并且不匹配。我该如何解决这个问题?
<ListView
android:id="@+id/listRow"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/imgFooter"
android:layout_below="@+id/linearRow"
android:divider="@null"
android:listSelector="@android:color/transparent"
android:overScrollMode="never"
android:scrollbars="none"
tools:listitem="@layout/my_row" />
<LinearLayout
android:id="@+id/linearRow"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/imgProfile"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/margin_20"
android:layout_marginTop="@dimen/margin_10"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.example.ui.widget.TextView
android:id="@+id/txtName"
style="@style/TextViewStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="false"
customFont:fontTextStyle="1" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.example.ui.widget.TextView
android:id="@+id/txtType"
style="@style/TextViewStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="false"
customFont:fontTextStyle="1" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.example.ui.widget.TextView
android:id="@+id/txtManager"
style="@style/TextViewStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="false"
customFont:fontTextStyle="1" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.example.ui.widget.TextView
android:id="@+id/txtLocation"
style="@style/TextViewStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="false"
customFont:fontTextStyle="1" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.mawthouq.ui.widget.CustomTextView
android:id="@+id/txtTotalRow"
style="@style/TextViewStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="false"
customFont:fontTextStyle="1" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<View
android:id="@+id/lineSeperator"
android:layout_width="match_parent"
android:layout_height="@dimen/divider_height"
android:layout_below="@+id/linearRow"
android:layout_marginLeft="@dimen/margin_20"
android:layout_marginRight="@dimen/margin_20"
android:layout_marginTop="@dimen/margin_10"
android:background="@color/divider_color" />
答案 0 :(得分:2)
您可能需要添加其他案例,请尝试此操作并查看其是否有效:
if (position == arrayList.size() - 1) {
viewHolder.lineSeperator.setVisibility(View.GONE);
}else{
viewHolder.lineSeperator.setVisibility(View.VISIBLE);
}
答案 1 :(得分:0)
使用
获取ArrayList中的最后位置int LastPos = arrayList.size() - 1;
然后放,
if (position == LastPos) {
viewHolder.lineSeperator.setVisibility(View.GONE);
}
else
{
viewHolder.lineSeperator.setVisibility(View.VISIBLE);
}
到适配器类。