Сбой DynamicGrid из-за исключения NullPointerException
Я буду использовать динамическую библиотеку askerov в моем проекте, но иногда я получаю нулевое исключение, когда тестирую приложение. У меня есть 100 элементов в сетке, и когда я перетаскиваю элемент вниз. Последние 7 строк не анимируются и приложение вылетает, как показано ниже. Когда у меня 84 элемента, последние 5 строк не анимируются, и приложение вылетает. Наконец, когда у меня есть 50 или менее 50 элементов, последние 2 строки не анимируются, и приложение не работает.
Я пытаюсь использовать попытку поймать, но библиотека потерпела крах другой строки кода. Я пытаюсь изменить адаптер. Подобно;
@Override
public View getView(int position, View convertView, ViewGroup parent) {
CheeseViewHolder holder;
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(
R.layout.grid_item, null);
holder = new CheeseViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (CheeseViewHolder) convertView.getTag();
}
holder.build(getItem(position).toString());
return convertView;
}
Я установил разные теги для каждого элемента. Приложение разбито в секции анимации клеток. Я не решил эту проблему. Как вы подходите к этой проблеме?
private Point getColumnAndRowForView(View view) {
int pos = getPositionForView(view);
int columns = getColumnCount();
int column = pos % columns;
int row = pos / columns;
return new Point(column, row);
}
03-22 12:26:55.309: E/AndroidRuntime(9461): FATAL EXCEPTION: main
03-22 12:26:55.309: E/AndroidRuntime(9461): java.lang.NullPointerException
03-22 12:26:55.309: E/AndroidRuntime(9461): at android.widget.AdapterView.getPositionForView(AdapterView.java:600)
03-22 12:26:55.309: E/AndroidRuntime(9461): at net.mertsaygi.ustalibrary.DynamicGridView.getColumnAndRowForView(DynamicGridView.java:904)
03-22 12:26:55.309: E/AndroidRuntime(9461): at net.mertsaygi.ustalibrary.DynamicGridView.handleCellSwitch(DynamicGridView.java:690)
03-22 12:26:55.309: E/AndroidRuntime(9461): at net.mertsaygi.ustalibrary.DynamicGridView.access$14(DynamicGridView.java:681)
03-22 12:26:55.309: E/AndroidRuntime(9461): at net.mertsaygi.ustalibrary.DynamicGridView$2.checkAndHandleFirstVisibleCellChange(DynamicGridView.java:1097)
03-22 12:26:55.309: E/AndroidRuntime(9461): at net.mertsaygi.ustalibrary.DynamicGridView$2.onScroll(DynamicGridView.java:1027)
03-22 12:26:55.309: E/AndroidRuntime(9461): at android.widget.AbsListView.invokeOnItemScrollListener(AbsListView.java:1520)
03-22 12:26:55.309: E/AndroidRuntime(9461): at android.widget.AbsListView.trackMotionScroll(AbsListView.java:5552)
03-22 12:26:55.309: E/AndroidRuntime(9461): at android.widget.AbsListView$FlingRunnable.run(AbsListView.java:4677)
03-22 12:26:55.309: E/AndroidRuntime(9461): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
03-22 12:26:55.309: E/AndroidRuntime(9461): at android.view.Choreographer.doCallbacks(Choreographer.java:555)
03-22 12:26:55.309: E/AndroidRuntime(9461): at android.view.Choreographer.doFrame(Choreographer.java:524)
03-22 12:26:55.309: E/AndroidRuntime(9461): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
03-22 12:26:55.309: E/AndroidRuntime(9461): at android.os.Handler.handleCallback(Handler.java:615)
03-22 12:26:55.309: E/AndroidRuntime(9461): at android.os.Handler.dispatchMessage(Handler.java:92)
03-22 12:26:55.309: E/AndroidRuntime(9461): at android.os.Looper.loop(Looper.java:137)
03-22 12:26:55.309: E/AndroidRuntime(9461): at android.app.ActivityThread.main(ActivityThread.java:4960)
03-22 12:26:55.309: E/AndroidRuntime(9461): at java.lang.reflect.Method.invokeNative(Native Method)
03-22 12:26:55.309: E/AndroidRuntime(9461): at java.lang.reflect.Method.invoke(Method.java:511)
03-22 12:26:55.309: E/AndroidRuntime(9461): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
03-22 12:26:55.309: E/AndroidRuntime(9461): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
03-22 12:26:55.309: E/AndroidRuntime(9461): at dalvik.system.NativeStart.main(Native Method)