首先,我非常擅长在简单的光标适配器中查看活页夹,并猜测我正在做一些导致我问题的傻事。我有这个简单的游标适配器,如下所示,我使用视图绑定器将一些动态效果应用于列表项。现在前两个陈述if如果工作正常。但我无论如何都无法进入imageview。尝试了很多替代方案。
final SimpleCursorAdapter reminders =
new SimpleCursorAdapter(this, R.layout.detail_row, remindersCursor, from, to);
setListAdapter(reminders);
reminders.setViewBinder(new SimpleCursorAdapter.ViewBinder() {
public boolean setViewValue(View aView, Cursor aCursor, int aColumnIndex) {
if (aColumnIndex == 1) {
String get_title = aCursor.getString(aColumnIndex);
TextView textView = (TextView) aView;
textView.setText("Country: " + get_title);
return true;
}
if(aView.getId() ==R.id.custom_date ) {
String get_date = aCursor.getString(aColumnIndex);
TextView textView1 = (TextView) aView;
textView1.setText("Time now: " + get_date);
return true;
}
if(aView.getId() == R.id.custom_type){
String get_type = aCursor.getString(aColumnIndex);
ImageView imageView = (ImageView) aView.findViewById(R.id.custom_icon);
if(get_type.matches("ASIA")){
Picasso.with(ReminderListActivity.this).load(R.drawable.asia).into(imageView);
} else if (get_type.matches("ROW")){
Picasso.with(ReminderListActivity.this).load(R.drawable.rest).into(imageView);
}
return true;
}
return false;
}
});
同时R.layout.detail_row在下面:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
android:id="@+id/custom_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/callback" />
<TextView
android:layout_marginLeft="5dp"
android:id="@+id/custom_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:text="" />
<TextView
android:gravity="center"
android:id="@+id/custom_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="10sp"
android:text="" />
<TextView
android:gravity="center"
android:id="@+id/custom_type"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="1sp"
android:text="TextView" />
答案 0 :(得分:0)
自己解决了。问题出在我的“to”配置中。我有一个拼写错误。我没有将字段定义为R.id.custom_icon(图像字段),而是错误地调用了比较字段R.id.custom_type。感觉像个白痴。
错误的代码:
final int[] to = new int[]{R.id.custom_title,R.id.custom_date,R.id.custom_type};
更正后的代码:
final int[] to = new int[]{R.id.custom_title,R.id.custom_date,R.id.custom_icon};