2
我有一個CursorAdapter類的子項和一個ListView,每個項目有兩個TextViews。一個拿着一個文本,另一個拿着一個數字。根據遊標的列值隱藏ListView項目的元素
文本來自一個Cursor列,而來自另一個Cursor列的數字。我想隱藏號碼,如果它等於0
我的列表項的看法是:
<?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);
}
的問題是什麼,有時每一個觀點,即持有的數字被隱藏,或者使用不正確的值(文本內容始終是正確的)。我記錄了taskCount
的值 - 它總是正確的。
而且我注意到,如果我要是聲明發表評論的,並指定文本count
總是這樣:
//if(taskCount > 0)
count.setText(Integer.toString(taskCount));
//else
//count.setVisibility(View.GONE);
問題沒有重現。
太好了,謝謝,它的工作原理。 – Olegas 2011-02-11 20:01:43