Danke für den Tipp vom Tutorial von Tim Roes.
Es funktioniert auch soweit mit dem vertikalen verschieben, allerdings bekomme ich eine Nullpointer Exception wenn der Vorgang beendet werden soll.
Hab aber keine Ahnung wieso der Fehler geworfen wird.
Wenn ich das Projekt vom Tutorial alleine in die IDE lade, läuft alles problemlos, der Fehler tritt nur beim Übertragen in mein Projekt auf.
Hier mal die Exception die geworfen wird.
08-28 09:29:48.237: E/AndroidRuntime(3457): FATAL EXCEPTION: main
08-28 09:29:48.237: E/AndroidRuntime(3457): Process: eu.bizdrive.messenger, PID: 3457
08-28 09:29:48.237: E/AndroidRuntime(3457): java.lang.NullPointerException
08-28 09:29:48.237: E/AndroidRuntime(3457): at eu.bizdrive.messenger.MainActivity$2.onDismiss(MainActivity.java:186)
08-28 09:29:48.237: E/AndroidRuntime(3457): at eu.bizdrive.messenger.swipeadapter.SwipeDismissListViewTouchListener$3.onAnimationEnd(SwipeDismissListViewTouchListener.java:351)
08-28 09:29:48.237: E/AndroidRuntime(3457): at android.animation.ValueAnimator.endAnimation(ValueAnimator.java:1056)
08-28 09:29:48.237: E/AndroidRuntime(3457): at android.animation.ValueAnimator.access$400(ValueAnimator.java:50)
08-28 09:29:48.237: E/AndroidRuntime(3457): at android.animation.ValueAnimator$AnimationHandler.doAnimationFrame(ValueAnimator.java:644)
08-28 09:29:48.237: E/AndroidRuntime(3457): at android.animation.ValueAnimator$AnimationHandler.run(ValueAnimator.java:660)
08-28 09:29:48.237: E/AndroidRuntime(3457): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
08-28 09:29:48.237: E/AndroidRuntime(3457): at android.view.Choreographer.doCallbacks(Choreographer.java:574)
08-28 09:29:48.237: E/AndroidRuntime(3457): at android.view.Choreographer.doFrame(Choreographer.java:543)
08-28 09:29:48.237: E/AndroidRuntime(3457): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
08-28 09:29:48.237: E/AndroidRuntime(3457): at android.os.Handler.handleCallback(Handler.java:733)
08-28 09:29:48.237: E/AndroidRuntime(3457): at android.os.Handler.dispatchMessage(Handler.java:95)
08-28 09:29:48.237: E/AndroidRuntime(3457): at android.os.Looper.loop(Looper.java:136)
08-28 09:29:48.237: E/AndroidRuntime(3457): at android.app.ActivityThread.main(ActivityThread.java:5017)
08-28 09:29:48.237: E/AndroidRuntime(3457): at java.lang.reflect.Method.invokeNative(Native Method)
08-28 09:29:48.237: E/AndroidRuntime(3457): at java.lang.reflect.Method.invoke(Method.java:515)
08-28 09:29:48.237: E/AndroidRuntime(3457): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
08-28 09:29:48.237: E/AndroidRuntime(3457): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
08-28 09:29:48.237: E/AndroidRuntime(3457): at dalvik.system.NativeStart.main(Native Method)
Alles anzeigen
und dieshier steht in Zeile 186 der MainActivity (Zeile wurde rot markiert)
// Create a ListView-specific touch listener. ListViews are given special treatment because
// by default they handle touches for their list items... i.e. they're in charge of drawing
// the pressed state (the list selector), handling list item clicks, etc.
SwipeDismissListViewTouchListener touchListener =
new SwipeDismissListViewTouchListener(
singeListView,
new SwipeDismissListViewTouchListener.DismissCallbacks() {
@Override
public boolean canDismiss(int position) {
return true;
}
@Override
public void onDismiss(ListView listView, int[] reverseSortedPositions) {
for (int position : reverseSortedPositions) {
//hier wird der Fehler geworfen == Zeile 186 im Code
myAdapter.remove(myAdapter.getItem(position));
}
myAdapter.notifyDataSetChanged();
}
});
singeListView.setOnTouchListener(touchListener);
Alles anzeigen