[英]Android: Null object reference
I am trying to have a list of contacts, each with a QuickContactBadge
. 我正在尝试提供一个联系人列表,每个联系人都有一个QuickContactBadge
。 When I tried to add the QuickContactBadge
, my application crasher and the logcat says null object reference on mCursor
when I call getColumnIndex();
当我尝试添加QuickContactBadge
,我的应用程序崩溃程序和logcat在调用getColumnIndex();
时在mCursor
上mCursor
空对象引用getColumnIndex();
. 。 What am I doing wrong, and will this code work to correctly implement the QuickContactBadge
? 我在做什么错,此代码可以正确实现QuickContactBadge
吗?
private CursorAdapter mAdapter;
private Cursor mCursor;
private String currentQuery;
private int mIdColumn;
private int mLookupKeyColumn;
private Uri mContactUri;
private QuickContactBadge mBadge;
private static final String[] PROJECTION = {
Contacts._ID,
Contacts.DISPLAY_NAME_PRIMARY,
Contacts.LOOKUP_KEY,
Contacts.PHOTO_THUMBNAIL_URI,
Contacts.HAS_PHONE_NUMBER
};
private static final String[] FROM = { Contacts.DISPLAY_NAME_PRIMARY };
private static final int[] TO = { R.id.contact_text };
private static final String SELECTION = "(" + Contacts.IN_VISIBLE_GROUP +
" = 1) AND (" + Contacts.HAS_PHONE_NUMBER + " != 0 )";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mCursor = null;
mAdapter = new SimpleCursorAdapter(getActivity(), R.layout.contacts_list_item, mCursor, FROM, TO, 0);
mBadge = (QuickContactBadge) getActivity().findViewById(R.id.badge);
mIdColumn = mCursor.getColumnIndex(Contacts._ID);
mLookupKeyColumn = mCursor.getColumnIndex(Contacts.LOOKUP_KEY);
mContactUri =
Contacts.getLookupUri(
mCursor.getLong(mIdColumn),
mCursor.getString(mLookupKeyColumn)
);
mBadge.assignContactUri(mContactUri);
}
mCursor = null;
mAdapter = new SimpleCursorAdapter(getActivity(), R.layout.contacts_list_item, mCursor, FROM, TO, 0);
mBadge = (QuickContactBadge) getActivity().findViewById(R.id.badge);
mIdColumn = mCursor.getColumnIndex(Contacts._ID);
Check first and last line here... your mCursor is null, and you are calling getColumnIndex() on it. 在此处检查第一行和最后一行...您的mCursor为空,并且您正在对其调用getColumnIndex()。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.