I'm having a hard time here with AlphabetIndexer here. I'm trying to use it to produce sectioned listview:
private static final String sAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
private AlphabetIndexer mIndexer;
public ContactAlphabetizedAdapter(Context context, int layout,
Cursor cursor, String[] from, int[] to) {
super(context, layout, cursor, from, to);
mIndexer = new AlphabetIndexer(cursor, cursor.getColumnIndexOrThrow(ContactsContract.Data.DISPLAY_NAME), sAlphabet);
在我的设备上,我的应用程序崩溃,问题是:
E/AndroidRuntime(5188): Caused by: java.lang.NullPointerException
E/AndroidRuntime(5188): at android.widget.AlphabetIndexer.compare(AlphabetIndexer.java:128)
E/AndroidRuntime(5188): at android.widget.AlphabetIndexer.getSectionForPosition(AlphabetIndexer.java:265)
这是AlphabetIndexer内部的东西,我该如何解决这个问题?
答案 0 :(得分:0)
你应该发布更多的代码来确认这一点,但是我猜你的光标已经改变,或者其他原因,游标[columnIndex]返回null ,到时候{{1被评估。
根据this outstanding issue,这种情况将触发与您正在经历的NPE非常相似的NPE
同样,真正的问题出现在您未发布的代码中。 Alphabetindexer并没有很好地处理这种情况。