問題タブ [android-binding-adapter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - データ バインディング API を介して既知の属性値を設定する
カスタムビュー定義の行からカスタム属性があります:
Android Studio はこれを検出し、オートコンプリートを提供してくれます。これは素晴らしいことです。したがって、xml 属性は次のようになりますapp:order="byValue"
。BindingAdapter
ただし、データ バインディング API のa を使用したいので、次の@
ような記号で使用する必要があります:app:order="@{byValue}"
残念ながら、これはコンパイルされません。
次に、次のように内部的にも使用する定数を使用しようとしましたapp:order="@{com.example.views.ExampleView.ORDER_BY_VALUE}"
が、これもコンパイルされません。をそのまま使用できますがapp:order="@{0}"
、そのように定義されているため、これが機能することは確かですが、そこで使用している理由は直感的ではありません0
。
この問題を解決するために、より読みやすいコードを作成するにはどうすればよいでしょうか?
android - チェックボックスのランタイムを作成し、DataBinding を使用して値を取得する
現在DataBinding
、私は自分のアプリケーションで使用しており、魅力的に機能しています。ここで質問があります。API 応答に基づいて複数のチェックボックスを作成できますか?
モデルクラスに1つあるようArrayList
に、その配列リストのサイズが何であれ、多くのチェックボックスを追加する必要があります。
今、すべての趣味のチェックボックスを作成し、選択したチェックボックスの値を取得したいと考えています。
誰でもこれで私を助けることができますか?
私はこれのためにBindingAdapterを作成し、チェックボックスのランタイムを作成することができました
問題は、選択されたチェックボックスの値を取得する方法です。
注 : DataBinding で実装する必要があります。
android-layout - Lombok アクセサーで Android バインディングを行う方法はありますか?
私はAndroidバインディングで遊び始めています。標準 (1 方向) のバインディングは、私がたむろする人々にとって十分なレベルです。
Could not find accessor
ただし、エラーなしで Lombok アクセサーを使用できないことがわかりました。これを回避する方法を見つけましたか? Lombok に無知な洞窟獣のようなゲッターとセッターを手動で書くことを恥ずかしがり屋ですか?
後世のために、私の元のサンプルコードはブール値を使用していたため、問題が少し曇っていました。
android - バターナイフの ImageView の onclicklistener が機能しない
これは私のビュー バインダー コードです。ここでは、承認ボタンと拒否ボタンが機能していません。
承認および拒否ボタンのリスナー部分が機能していません。コードに何が欠けていますか。
}
誰かがこれを解決するために私を案内してください。前もって感謝します。
これは私のフラグメントクラスです。
android - Android BindingAdapterの実行順序?
データ バインディング ライブラリが BindingAdapter の実行順序を決定する方法を理解する必要があります。ビューに 2 つの BindingAdapter があり、それらの BindingAdapter に対応する両方の属性がビューにある場合、どちらのアダプターが最初に実行されるかをどのように判断しますか? 私の場合は実行順序が重要なのでお願いします。
次の BindingAdapter/s があります。
スピナーにデータを入力して選択を設定する方法は次のとおりです。
DatabaseModel.queryForAll は、データベースに対してクエリを実行し、BindingAdapter に渡されるオブジェクトのリストを返す静的メソッドです。BindingAdapter はこのリストを受け取り、その各項目をインデックスで更新し、スピナーのアダプターとして設定します。
何らかの理由で、「setSelectedItem」BindingAdapter が常に最初に呼び出されます。最初にエントリを初期化する必要があるため、これは望ましくありません。最初に初期化されていない場合、setSelectedItem が最初に呼び出されたときに spinner.getAdapter() は null になります。つまり、以前に保存された選択は復元されません。
android - バインディング アダプターが正しく動作しない
@BindingAdapter
私は自分のプロジェクトで作業するのに苦労しています。
上記のコードは、ViewModel での実装方法を示しています。特にない。
これは動作しません。名前空間アプリはバインドされていません。だから私は何が欠けています。https://medium.com/google-developers/android-data-binding-custom-setters-55a25a7aea47#.6ygaiwoohをフォロー して、bindingAdapter の設定方法を確認しました。しかし、私が見逃したものがあります
android - Android データ バインディング - 「android」名前空間で BindingAdapter を使用しても機能しない
Android のデータ バインディング ドキュメントでは、次のように述べています。
Android 名前空間のアダプターを作成することもできます。
android:text
そのドキュメントのサンプル コードに従い、TextView のセッターにバインドしようとしました。
これは私が書いた BinderAdapter です:
これはレイアウトです:
アプリを実行すると、「これはダミー テキストです - BinderAdapter は動作します!」というテキストが表示されるはずですが、表示されるテキストは「これはダミー テキストです」です。setText()
さらに、ログを見ると、呼び出されていることがわかりません。
「Android」以外の名前空間を使用するための提案(ここ)を読みましたが、特別な注意を払ってアプリ全体に異なる名前空間を配置する必要がないことが重要です。
私は何を間違っていますか?