私はAndroid Developers Binding Eventsの例を踏襲し、ステップバイステップを実装しました。それはうまく動作します。しかし、アダプタからハンドラにパラメータを送信したいのですが、どのようにデータバインディングハンドラを使ってこれを実現できますか?androidデータバインディングライブラリを使用してバインディングイベントにパラメータを渡す方法
3
A
答えて
5
私は答えを得ました。
layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="movie"
type="embitel.com.databindingexample.helper.Movie" />
<variable
name="handler"
type="embitel.com.databindingexample.helper.MyHandlers" />
</data>
<android.support.v7.widget.CardView
android:id="@+id/cardview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="4dp"
android:onClick="@{(view)->handler.onItemClicked(view,movie)}"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp">
<ImageView
android:layout_width="match_parent"
android:layout_height="128dp"
android:scaleType="centerCrop"
app:error="@{@drawable/ic_launcher}"
app:imageUrl="@{movie.imageUrl}" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@{movie.title}" />
</LinearLayout>
</android.support.v7.widget.CardView>
次いでとしてハンドラクラスを作成onclickの使用ラムダ式のXMLで 、
public class MyHandlers {
public void onItemClicked(View v, Movie movie) {
Context context = v.getContext();
context.startActivity(DetailActivity.buildIntent(context, movie));
}
}
そして、あなたはまた、任意のクラスのハンドラメソッドを置くことができます
binding.setHandler(new MyHandlers());
、そのXMLは次のようにiflatedされるハンドラを設定する必要があります。その場合、そのクラス名をハンドラとして設定する必要があります。
+0
ラムダを使わずにどうすればいいですか? –
関連する問題
- 1. ログインのためにpostメソッドを使用してandroidのパラメータを渡す方法
- 2. IDLを使用してオブジェクトとしてパラメータを渡す方法
- 3. jenkinsでパイプラインプラグインを使用してパラレルプロセスにパラメータを渡す方法
- 4. mvnパッケージを使用して.propertiesファイルにパラメータを渡す方法
- 5. URLを使用してstruts2アクションクラスにパラメータを渡す方法
- 6. jsonを使用してwcfデータサービスにバイト[]パラメータを渡す方法
- 7. UIルータータブを使用してターゲットルートにパラメータを渡す方法
- 8. AndroidでSL4Aを使用してPythonスクリプトにパラメータを渡す
- 9. AndroidデータバインディングライブラリとMVVMを使用してアプリケーションを開発するには?
- 10. node.jsを使用してserver.jsでパラメータを渡す方法
- 11. Spark submitを使用して外部パラメータを渡す方法
- 12. django urlresolvers reverseを使用してGETパラメータを渡す方法
- 13. codeigniterの自動リダイレクトドロップリストを使用してパラメータを渡す方法
- 14. シェルスクリプトのコマンドライン引数を使用してパラメータを渡す方法
- 15. 静的変数を使用してパラメータを渡す方法は?
- 16. bashでselectを使用してパラメータを渡す方法
- 17. HashMapを使用してパラメータを渡す方法入力
- 18. .htaccessファイルを使用してURLパラメータを渡す方法
- 19. MockMVCを使用してコントローラの@RequestBodyパラメータを渡す方法
- 20. RequirejsのURLを使用してパラメータを渡す方法
- 21. データバインディングライブラリを使用してルームデータベースからLiveDataの変更を観察する方法
- 22. PHPを使用してURLにURLを渡す方法(GETパラメータとして)
- 23. jquery ajaxコールを使用して汎用ハンドラにパラメータを渡す方法
- 24. android studioのパラメータとして変数名を渡す方法
- 25. JsonStringをAndroid WebAPIのパラメータとして渡す方法
- 26. xslファイルにパラメータを渡してそれを応答に使用する方法
- 27. リクエストモジュールを使用してsoap body内の値をパラメータとして渡す方法
- 28. transfer.upload_file()を使用してmd5チェックサムをパラメータとして渡す方法は?
- 29. - 型をパラメータとして渡す方法
- 30. ノードをパラメータとして渡す方法
これまでに何を試しましたか?あなたのコードを投稿してください。どんな種類のパラメータを渡そうとしていますか? –