Androidでデータバインディングを使用する方法を学ぶだけです。そして、なぜBindingAdapterを静的メソッドに設定する必要があるのか尋ねたいと思いますか?私はそれを非静的メソッドにすることができます場合。私は何をしなければならないのですか?自分のイメージを自分のImageLoaderオブジェクトにロードする必要があります。なぜBindingAdapterが静的メソッドでなければならないのですか?
4
A
答えて
8
BindingAdapterにはがありません。は静的になります。それが静的であれば、作業がはるかに簡単です。インスタンスメソッドを使用する必要がある場合は可能ですが、DataBindingComponentを通じてインスタンスに到達する方法を提供する必要があります。
のは、あなたがインスタンスBindingAdapterを持っていることを想像してみましょう:BindingAdapterはDataBindingComponentの方法として提供されなければならないインスタンスが含まれているものは何でもクラス
public class ImageBindingAdapters {
private ImageLoader imageLoader;
public ImageBindingAdapters(ImageLoader imageLoader) {
this.imageLoader = imageLoader;
}
@BindingAdapter("url")
public void setImageUrl(ImageView imageView, String url) {
imageLoader.loadInto(imageView, url);
}
}
まず、。これは実装する生成されたインターフェイスであり、メソッドはクラス名に基づいています。
public class MyComponent implements DataBindingComponent {
@Override
public ImageBindingAdapters getImageBindingAdapters() {
//... whatever you do to create or retrieve the instance
return imageBindingAdapter;
}
}
これで、バインディング時にコンポーネントを提供する必要があります。たとえば、次のようになります。
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
MyBinding binding = DataBindingUtil.setContentView(this,
R.layout.my, new MyComponent());
binding.setData(/* whatever */);
}
したがって、依存性注入を使用すると主に使用されます。バインディングごとにコンポーネントを変更する必要がない場合は、DataBindingUtil.setDefaultComponent()
を使用することもできます。
関連する問題
- 1. なぜデリゲートは静的でなければならないのですか?
- 2. なぜWPFの依存関係プロパティが静的でなければならないのですか
- 3. なぜ静的でないRxJSメソッドからの最新の?
- 4. 私の「マーシャル」はなぜ「静的」でなければならないのですか?
- 5. なぜ「静的でない変数から静的なコンテキストから参照できないのですか?」
- 6. CustomFieldSerializerに静的メソッドが必要なのはなぜですか?
- 7. 私のasynctaskからの呼び出しメソッドは静的でなければならない
- 8. なぜ静的フィールドがシリアル化されないのですか
- 9. 'マネージャ'クラスの 'getter'メソッドが静的でないのはなぜですか?
- 10. java静的メソッドなぜ必要です
- 11. System.Randomクラスが静的でないのはなぜですか?
- 12. なぜメソッド受信者は一貫性がなければならないのですか?
- 13. この静的Javaメソッドはスレッドセーフではないのはなぜですか?
- 14. なぜASP.NET MVCはWebアプリケーションでなければならないのですか?
- 15. +または - は、Calc()メソッド内の空白で囲まなければならないのはなぜですか?
- 16. PHPでは、なぜ静的でないメソッドにもアクセスできますか?
- 17. なぜ静的デストラクタがないのですか?
- 18. すべてのメソッドとクラス変数が静的なのはなぜですか?
- 19. なぜ私はこのような静的メソッド持つ非静的メソッドのC#
- 20. なぜメソッドはメインクラスのプログラムでの静的メソッドからのコンソールアプリケーションで方法
- 21. なぜNSMutableArrayにNSMutableArrayをキャストしなければならないのですか?
- 22. なぜボタンを2回クリックしなければならないのですか?
- 23. java.io.IOException:WebSocketメソッドはGETでなければならない
- 24. 静的クラスに非静的メソッドと変数を使用できないのはなぜですか?
- 25. ROWSはpostgresで肯定的でなければならない
- 26. なぜ外部リソースに静的メソッドを使用しないのですか?
- 27. なぜCBVに静的メソッドを使用しないのですか?
- 28. なぜ私的静的メソッドが存在するのですか?静的コンテキストで呼び出されていないのですか?
- 29. なぜ静的変数にアクセスできないのですか?
- 30. Androidフラグメントは静的でなければなりません