10

実際、私の目標は Android で ListViewItem Swipe を実装することです。私はそれを試してみましたが、stackoverflow には ListViewSwipe を作成できるいくつかの例があります。例。

アクティビティ チュートリアルへの単純なスワイプ ジェスチャー?

そのリストから1つのアイテムをスワイプすると、リストビューにボタンが表示されます

1 つのポイントは、誰もが何が起こっているのかを説明していないコードを提供しているということです。

次に、@CommonsWareがスムーズな流れを持つSwipeListViewライブラリで回答した通話ログのような右/左スワイプのAndroidリストビューについて質問しました。受け入れられた回答も正常に機能しています。現在、それのみを使用しています。

これはライブラリhttp://www.androidviews.net/2013/03/swipelistview/で、 このようなリストビューを提供します

ここに画像の説明を入力

ここの github で提供されているサンプル アプリケーションを 50 回以上実行しようとしましたhttps://github.com/47deg/android-swipelistview-sampleしかし、毎回新しい問題に直面しています。現在来ている例外は

05-22 15:35:19.392: E/AndroidRuntime(980): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.fortysevendeg.android.swipelistview.SwipeListView" on path: /data/app/com.fortysevendeg.android.swipelistview-2.apk

何が起こっているのかわかりませんビルドパスを確認しました。ライブラリも含まれており、スタックオーバーフローチャットで多くの人に尋ねましたが、何の助けも得られませんでした。

実際、インターネット上には、私が非常に多くの人々に尋ねた実装のための単一のチュートリアルはありません。ですから、誰かがこのライブラリを使用したことがあるかどうか知りたいのですが、適切な回答を書いてください。

または、この種の機能を実装するために実行する他のライブラリがあります。

@CommonsWareが提案したように。それを使用するためのチュートリアルを作成するために、著者にも電子メールを書きました。

4

5 に答える 5

12

最後に、Android-SwipeListView ライブラリを 47Degrees で独自のアプリケーションに統合することができました。

魅力のように機能します。このような素晴らしいコードを書いてくれた 47Degrees に感謝します。

解決:

何がうまくいかないのですか?

JAR を依存関係として含め、attrs.xml を res/values に含めるか、プロジェクトで SwipeListView ライブラリを lib 依存関係として参照しても機能しません。

何が効く?!

アプリケーション パッケージに次のクラスを含めます。これらのクラスのパッケージ名をパッケージ名に必ず修正してください

  • SwipeListView.java
  • SwipeListViewListener.java
  • SwipeListViewListenerBase.java
  • SwipeListViewTouchListener.java

次の xml をアプリケーションの res/values フォルダーに含めます。

  • attrs.xml

これで、次のように SwipeListView を定義して使用できるようになりました

<au.com.your.package.SwipeListView
        xmlns:swipe="http://schemas.android.com/apk/res-auto"
        android:id="@+id/swipe_listview"
        android:listSelector="#00000000"
        android:layout_width="match_parent"
        android:layout_height="match_parent"        
        swipe:swipeFrontView="@+id/front"
        swipe:swipeBackView="@+id/back"
        swipe:swipeActionLeft="reveal"
        swipe:swipeActionRight="choice"
        swipe:swipeMode="both"
        swipe:swipeCloseAllItemsWhenMoveList="true"
        swipe:swipeOpenOnLongPress="true"
        swipe:swipeAnimationTime="100"
        swipe:swipeOffsetLeft="50dp"
        swipe:swipeDrawableChecked="@drawable/item_selected"
        swipe:swipeDrawableUnchecked="@drawable/item_unselected"
   />

SwipeListView github サイトの例に表示されているものと同じアクティビティ コードを使用できます。

上記のコードからのいくつかのインポートを修正する必要があります。さらに、Jake Wharton による NineOldAndroids をlib 依存関係としてプロジェクトに含める必要があります。

于 2013-11-17T22:59:31.147 に答える
2

すべてのライブラリを適切に参照した後、次のように SwipeListView を参照するように XML を変更しました。

 <main.java.com.fortysevendeg.android.swipelistview.SwipeListView
      xmlns:swipe="http://schemas.android.com/apk/res-auto"
      android:id="@+id/example_lv_list"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:listSelector="#00000000"
      swipe:swipeActionLeft="reveal"
      swipe:swipeActionRight="reveal"
      swipe:swipeAnimationTime="10"
      swipe:swipeBackView="@+id/back"
      swipe:swipeCloseAllItemsWhenMoveList="true"
      swipe:swipeFrontView="@+id/front"
      swipe:swipeMode="right"
      swipe:swipeOffsetLeft="80dip"
      swipe:swipeOffsetRight="80dip"
      swipe:swipeOpenOnLongPress="false" />
于 2013-05-22T11:17:08.330 に答える
2

最も簡単なテストは、プロジェクト内のすべてをコピーすることです。リソースに attr.xml しかないことがわかりますので、それほど難しくなく、プロジェクトを汚すこともありません。それを試してみてください。/src に直接コピーして貼り付けるだけです

これは Android ライブラリ プロジェクトである必要があり、そのようにアタッチする必要があります。あなたが抱えているバグは、 /libs 内にライブラリを追加するときにわからない愚かな理由で発生することがあります(そのように BuildPath で参照する必要はありません)。

この特定のケースでは、このプロジェクトは、JAR ではなくライブラリ プロジェクトとして接続した場合にのみ機能します。

お役に立てれば。

また、このライブラリは Maven プロジェクトです。それをビルドできるようにするには、Android セットアップ用の Maven が必要です。または通常のプロジェクトに変換します。

于 2013-05-22T11:13:00.927 に答える
0

私はこれと同じ問題を抱えていました。

java.lang.ClassNotFoundException: Didn't find class "com.fortysevendeg.android.swipelistview.SwipeListView"

これを解決するには、[プロパティ] > [Android] > [ライブラリ] > [追加] でライブラリをインポートする必要があります... GDroid のソリューションは私にとってはうまくいきませんでした。

ヒント 1 : ライブラリをプロジェクトの同じワークスペースまたはフォルダーにコピーします。Eclipse では、プロジェクト ライブラリを他のフォルダーにインポートする際に問題がありました。この投稿は、この問題を解決するのに役立ちました: https://stackoverflow.com/a/5167294/2554730

ヒント 2 : ecplise するプロジェクト ライブラリを探している場合は、Android Studio へのプロジェクトが機能しないため、Android Studio でプロジェクト ライブラリを開いてみてください。操作が完了したら、プロジェクトのフォルダに移動して探す必要があります。

gen-external-apklibs > com.fortysevendeg.android_swipelistview_1.0-20130701.103547-12

これは、Eclipse 用のプロジェクトを含むフォルダーです。このプロジェクトをインポートし、libs フォルダーに貼り付けます (libs フォルダーがない場合は作成します)。

android-support-v4.jar および nineoldandroids-2.4.0.jar

これらの .jar はエラーを修正するはずです。

于 2014-11-20T20:00:30.357 に答える