2012-04-18 71 views
0
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); 

在我的设备我的应用程序崩溃,问题是:获得NullPointerException异常与AlphabetIndexer

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

检查AlphabetIndexer.java:128是什么? – 2012-04-18 17:10:48

+0

这是AlphabetIndexer的来源。 – 2012-04-18 17:13:48

+0

在那个脚本语言中128行包含了什么 – 2012-04-18 17:15:38

回答

0

你或许应该发布更多的代码来证实这一点,但我猜你cursos已经改变,或某些其他原因光标[columnIndex]返回null,通过getSectionForPosition评估的时间。

根据this outstanding issue,这种情况会引发非常类似NPE什么您遇到

再次,真正的问题是在什么地方,你没有职位的代码。 Alphabetindexer并没有很好地处理这种情况。