您的位置:首页 > 其它

一些疑难问题解决方法

2015-12-03 23:25 309 查看
1.crash:Android Exception 8(Couldn't read row 0, col -1 from CursorWindow)

(1)原因1:字段不正确

 c.getString(c.getColumnIndex("_ID")//字段名称不正确

(2)query的中projection 字段没有补全

public final Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder);

最好是将projection置为null,否则cursor仅仅可以查询projection中的字段;

2.当Listview有header时,onItemClick里的position不正确

当给ListView加了一个HeaderView后(代码如下),我们发现,onItemClick方法里的position参数的值不是我们所期望的,比如点击ListView的第一行,我们期望的position是0,可是实际上却是1,也就是说,它是从Header而不是从第一行开始计数的。

解决方法;

把onItemClick改成下面这样,就可以了

@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
doSomething(parent.getAdapter().getItem(position));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: