gpt4 book ai didi

android - 根据 Cursor 的列值隐藏 ListView 项的元素

转载 作者:行者123 更新时间:2023-11-29 00:48:21 25 4
gpt4 key购买 nike

我有一个 CursorAdapter 类的子类和一个 ListView,其中每个项目都有两个 TextView。一个拿着文字,另一个拿着数字。

文本来自一个游标列,数字来自另一列。如果数字等于 0,我想隐藏它。

我的列表项 View 是:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dp">

<TextView
android:background="@drawable/task_count_indicator"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:layout_gravity="center_vertical"
android:textColor="@color/white"
android:id="@+id/txtTaskCount" />

<TextView
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:ellipsize="marquee"
android:textSize="18sp"
android:layout_alignParentLeft="true"
android:layout_gravity="center_vertical"
android:id="@+id/placeItemName"/>

</RelativeLayout>

我的适配器代码是:

    @Override
public View newView(Context context, Cursor cursor, ViewGroup viewGroup) {
return LayoutInflater.from(context).inflate(R.layout.places_list_item, viewGroup, false);
}


@Override
public void bindView(View view, Context context, Cursor cursor) {

int taskCount = cursor.get...// get to know it...

TextView name = (TextView) view.findViewById(R.id.placeItemName);
name.setText(
cursor.getString(
cursor.getColumnIndexOrThrow(...)));

TextView count = (TextView)view.findViewById(R.id.txtTaskCount);
if(taskCount > 0)
count.setText(Integer.toString(taskCount));
else
count.setVisibility(View.GONE);
}

问题是有时每个包含数字的 View 都被隐藏,或者具有不正确的值(文本内容总是正确的)。我记录了 taskCount 值 - 它总是正确的。

我还注意到,如果我注释一个 if 语句并将文本分配给 count,就像这样:

    //if(taskCount > 0)
count.setText(Integer.toString(taskCount));
//else
//count.setVisibility(View.GONE);

问题不是重现。

最佳答案

我认为您的问题与 taskCound>0 的情况有关您应该需要指定 count.setVisibility(View.Visible) 因为 View 正在被重用。因此,请务必为每种情况定义您的值(value)观。

希望对你有帮助

关于android - 根据 Cursor 的列值隐藏 ListView 项的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4973175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com