小编Wes*_*ker的帖子

PreferenceFragment.findPreference始终返回NULL

我正在尝试制作一个设置菜单,它会显示一个MultiSelectListPreference,从联系人列表中选择多个联系人.

在这一刻,我正在接受一个NullPointerException,当我尝试MultiSelectListPreference#setEntryValue(CharSequence[])如果我把第setEntries一个,那个抛出相同的异常.

我已经提出了一个断点,一步一步地看到会发生什么.变量因为存储而被填充Strings,它们可以包含String"null",所以我猜如果没有Display_Name可用的话它就不会失败.

我将findPreference建立在这个答案的例子上

有人有想法吗?如果您需要更多信息,请告诉我.谢谢阅读!

package be.wdk.sendtowork;contactNumberArray

import android.database.Cursor;
import android.os.Bundle;
import android.preference.MultiSelectListPreference;
import android.preference.PreferenceFragment;
import android.provider.ContactsContract;
import android.util.Log;
import android.widget.Toast;

public class PreferenceClass extends PreferenceFragment {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Integer countContacts = 0;

        String[] projection = new String[]{
                ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
                ContactsContract.CommonDataKinds.Phone.NUMBER,
                ContactsContract.CommonDataKinds.Phone.PHOTO_URI
        };

        String selection = ContactsContract.CommonDataKinds.Phone.HAS_PHONE_NUMBER;
        String sortOrder = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME;
        try {
            Cursor c1 = getActivity().getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, projection, selection, null, …
Run Code Online (Sandbox Code Playgroud)

java android nullpointerexception multi-select android-preferences

11
推荐指数
2
解决办法
8396
查看次数