我有一个名为CAdapter的自定义游标适配器,它具有以下代码行。
public class CAdapter extends CursorAdapter {
public CAdapter(Context context, Cursor c) {
super(context, c);
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
TextView titleTV = (TextView) view.findViewById(R.id.listTitle);
titleTV.setText("#"+cursor.getString(cursor.getColumnIndex(cursor.getColumnName(1)))+" "+
cursor.getString(cursor.getColumnIndex(cursor.getColumnName(2))));
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View retView = inflater.inflate(R.layout.row_item_layout, parent, false);
return retView;
}
}
row_item_layout.xml文件包含
<?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="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/listTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="2dp"
android:focusable="false"
android:gravity="center_vertical"
android:text="Example application"
android:textSize="26sp" />
</RelativeLayout>
我有一个包含listview的活动FavListActivity。我的问题是如何访问列表视图中的textview以更改该textview中文本的颜色。我必须在创建活动时运行该代码(而不是在onItemClickListener中)。如果需要,请询问其他信息。
答案 0 :(得分:0)
我不知道您使用什么机制来确定您想要更改的列表中的哪一行。以下是几个选项:
TextView titleTextView = (TextView)listView.getChildAt( 0 ).findViewById(findViewById(R.id.listTitle);
//do something with the TextView
或者,如果你是一个点击监听器,也许
listView.setOnItemClickListener( new OnItemClickListener() {
@Override
public void onItemClick( AdapterView<?> parent, View view, int position, long id ) {
TextView titleTextView = (TextView) view.findViewById(R.id.listTitle);
//do something with the TextView
}
} );