https://github.com/47deg/android-swipelistviewでスワイプ リスト ビューをセットアップしました。スワイプ関連のイベントを処理するためのさまざまなイベント リスナーを提供します。
1つのことを除いて、すべてが完全に機能します。
スワイプしたリスト項目のみ背景色を変更したい。元に戻ると元に戻ります。
アダプターからのタップイベントでこれを行うことができます。リストアダプターを使用してこれを行うこともできましたが、左スワイプ(リスナー)のみで背景を変更したいので、アダプターを使用できません。そのため、アダプターからこれを行うとうまくいかない場合があります。
次のリスナーは私のために働きます-
swipeListView.setSwipeListViewListener(new BaseSwipeListViewListener() {
@Override
public void onOpened(int position, boolean toRight) {
View v = swipeListView.getChildAt(position);
swipeListView.getChildAt(position).setBackgroundColor(Color.CYAN);
ci = u_items.get(position); // getter of list item data
Toast.makeText(getApplicationContext(), ci.getTitle().toString(), Toast.LENGTH_SHORT).show();
}
@Override
public void onClosed(int position, boolean fromRight) {
}
@Override
public void onListChanged() {
}
. // other listeners
.
.
.
.
.
これはエラーや警告をスローしませんが、背景が変更されているのを確認できません。トーストが表示されるので、左にスワイプするとリスナーが実際に機能します。
おそらく、背景自体の設定中に何か間違ったことをしています。わからない。swipelistviewはListViewを拡張するカスタム ビューであるため、そのリスナーだけからこれを行う方法は想像できません。
さらに、Android リストの選択を使用して XML ファイルの背景色を設定することもできましたが、タップ リスナーでのみ機能します。したがって、このオプションも削除されます。これ以外はすべて完璧に機能します。
正しい方向へのプッシュは良いでしょう。分析するためにさらにコードが必要な場合は、質問を編集できます。