OnListItemClick 从未被调用?
我不认为这个问题是由我的 ListActivity 子类引起的。我认为这与我的 BaseAdapter 子类有关:
package com.mohit.gtodo;
import com.mohit.gtodo.database.TasksDBAdapter;
import android.content.Context;
import android.database.Cursor;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.CursorAdapter;
import android.widget.TextView;
public class TasksCursorAdapter extends CursorAdapter {
public TasksCursorAdapter(Context context, Cursor c) {
super(context, c);
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
CheckBox completed = (CheckBox) view.findViewById(R.id.completed);
TextView title = (TextView) view.findViewById(R.id.title);
title.setText(cursor.getString(cursor.getColumnIndex(TasksDBAdapter.KEY_TITLE)));
completed.setChecked(cursor.getInt(cursor.getColumnIndex(TasksDBAdapter.KEY_COMPLETED)) > 0);
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.list_item, null);
return view;
}
}
我是否忘记了方法重写?
I don't think this problem is caused from my ListActivity subclass. I think it has something to do with with my BaseAdapter subclass:
package com.mohit.gtodo;
import com.mohit.gtodo.database.TasksDBAdapter;
import android.content.Context;
import android.database.Cursor;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.CursorAdapter;
import android.widget.TextView;
public class TasksCursorAdapter extends CursorAdapter {
public TasksCursorAdapter(Context context, Cursor c) {
super(context, c);
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
CheckBox completed = (CheckBox) view.findViewById(R.id.completed);
TextView title = (TextView) view.findViewById(R.id.title);
title.setText(cursor.getString(cursor.getColumnIndex(TasksDBAdapter.KEY_TITLE)));
completed.setChecked(cursor.getInt(cursor.getColumnIndex(TasksDBAdapter.KEY_COMPLETED)) > 0);
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.list_item, null);
return view;
}
}
Am I forgetting a method override?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您正在使用一个复选框,它是一个可点击的项目。当某行包含可点击项目时,该行将无法再被点击。不要使用复选框,而是使用 ListView 的 choiceMode 属性。
You are using a CheckBox, which is a clickable item. When a row contains a clickable item, the row cannot be clicked anymore. Instead of using checkboxes, use ListView's choiceMode attribute.