我在ListFragment中使用drag-sort-listview(https://github.com/bauerca/drag-sort-listview).
当我在创建时启用dragsort时,事情正在发挥作用.但是,我希望将其禁用,直到对列表视图中的某个项目进行长按.
所以我想设置
mDslv.setDragEnabled(false);
Run Code Online (Sandbox Code Playgroud)
在3个地方:onCreateView(),DragSortListView.DropListener和DragSortListView.RemoveListener
在我的ListFragment中,我有:
listView.setOnItemLongClickListener( new AdapterView.OnItemLongClickListener(){
@Override
public boolean onItemLongClick(AdapterView<?> av, View v, int pos, long id) {
mDslv.setDragEnabled(true);
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
我希望长按任何项目都会打开DSLV并允许删除或删除该项目,之后将再次禁用DSLV.
但是,在调用setDrageEnabled(true)之后(而不是while),我得到一个NullPointerException:
09-03 00:03:33.749: E/AndroidRuntime(9703): FATAL EXCEPTION: main
09-03 00:03:33.749: E/AndroidRuntime(9703): java.lang.NullPointerException
09-03 00:03:33.749: E/AndroidRuntime(9703): at com.mobeta.android.dslv.DragSortController.onScroll(DragSortController.java:381)
09-03 00:03:33.749: E/AndroidRuntime(9703): at android.view.GestureDetector.onTouchEvent(GestureDetector.java:541)
09-03 00:03:33.749: E/AndroidRuntime(9703): at com.mobeta.android.dslv.DragSortController.onTouch(DragSortController.java:243)
09-03 00:03:33.749: E/AndroidRuntime(9703): at android.view.View.dispatchTouchEvent(View.java:3881)
09-03 00:03:33.749: E/AndroidRuntime(9703): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:903)
09-03 00:03:33.749: E/AndroidRuntime(9703): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
09-03 00:03:33.749: E/AndroidRuntime(9703): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
09-03 00:03:33.749: E/AndroidRuntime(9703): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942) …Run Code Online (Sandbox Code Playgroud) 我的应用程序在启动时崩溃了所有Android Marshmallow arm64设备.用户以前在同一设备上使用Lollipop上的应用程序,但随后在设备更新为Marshmallow后开始报告这些崩溃.32位设备不受影响.崩溃报告看起来像这样:
ABI: 'arm64'
pid: 3531, tid: 3531, name: ompany.myapp >>> com.mycompany.myapp <<<
signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0x7f796d9370
x0 0000000013087000 x1 0000007f8815da00 x2 0000000000000002 x3 0000000000000004
x4 b42e90dfe44ab496 x5 b42e90dfe44ab496 x6 0000000000000000 x7 00000000019b7af0
x8 0000000013087000 x9 0000007f87713000 x10 0000000000000601 x11 000000001308700c
x12 0000000000002000 x13 0000000000002000 x14 000000006fb18428 x15 00000000013cd010
x16 0000000000000000 x17 0000000000002000 x18 0000005594f27e90 x19 0000000000000003
x20 0000000013087000 x21 0000007f75e00098 x22 00000000130d6e20 x23 0000000000000601
x24 0000000000000000 x25 0000000000000001 x26 0000000000000000 x27 0000000000000000
x28 …Run Code Online (Sandbox Code Playgroud)