繁体   English   中英

Android:空对象参考

[英]Android: Null object reference

我正在尝试提供一个联系人列表,每个联系人都有一个QuickContactBadge 当我尝试添加QuickContactBadge ,我的应用程序崩溃程序和logcat在调用getColumnIndex();时在mCursormCursor空对象引用getColumnIndex(); 我在做什么错,此代码可以正确实现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);

在此处检查第一行和最后一行...您的mCursor为空,并且您正在对其调用getColumnIndex()。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM