簡體   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