問題タブ [android-databinding]

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.

0 投票する
3 に答える
28492 参照

android-databinding - Android データ バインディング: 変数を渡してレイアウトを含める方法

Google のドキュメントによると、含まれているレイアウトから含まれているレイアウトのバインディングに変数が渡される可能性がありますが、それを機能させることはできませんが、データ バインディング エラーが発生します ****msg:Identifiers must have user defined types from the XML file. ハンドラーにはそれがありません。インクルード XML は次のようになります。

含まれている XML は次のようになります。

含まれているレイアウトから生成されたバインディング クラスを介してビューを参照できますが、変数を渡すだけでは機能しません。

0 投票する
2 に答える
7586 参照

android - メモリ内ビットマップを ImageView にデータバインドする

ImageView にバインドしたいメモリ内のビットマップ (独自の TCP/IP プロトコル スタックを介してサーバー アプリケーションからダウンロード) があります。ただし、setImageBitmap を使用して手動で画像をバインドすることはできます。データバインディング ライブラリを使用して他のコントロールをバインドすると、画像が表示されません。データバインディング ライブラリを使用して、Bitmap オブジェクトを含むプロパティにバインドするにはどうすればよいですか?

0 投票する
3 に答える
8304 参照

android - Android setVariable(BR.xyz, model) と databinding.setXYZ(model) の違いは何ですか

私はAndroidのデータバインディングに取り組んでおり、次の2つの方法を使用してモデルを設定できるというシナリオに出くわしました:

次のように設定することもできます。

この2つの違いを説明できる人はいますか?

ユーザー モデル:

0 投票する
4 に答える
2743 参照

android - Android Studio 1.5.1 + データ バインディング: IDE のエラー メッセージ

Android Studio での Android のデータ バインディングに苦労しています。IDE で 2 つのエラー メッセージが表示されますが、これらのエラーの解決方法がわかりません:Cannot resolve symbol 'BR'Cannot resolve symbol @{data.visible ? View.VISIBLE : View.GONE}.

これは私がしたことです:

  • Android SDK ManagerでAndroid Support Repository (Rev. 25)をインストール
  • Android Studio 1.5.1で新しいプロジェクトを作成しました:
    • アプリケーション名DataBindingTest (ドメインmy.namespace、パッケージnamespace.my.databindingtest)
    • スマートフォンとタブレットの場合、最小 SDK バージョン 9、ターゲット SDK バージョン 23
    • 空のアクティビティを追加しました
  • dataBinding { enabled = true }app モジュールのbuild.gradleファイルに追加(および gradle 同期を実行)
  • プロパティ(String) および(Boolean)Dataを拡張して持つクラスを追加しました。BaseObservabletextvisible
  • 変更activity_main.xml:layoutタグで囲み、dataセクションを追加し、 data.textanddata.visibleプロパティを使用しました。
  • MainActivityクラスに初期化コードを追加

これは、変更されたファイルのコードです。

build.gradle (モジュール: アプリ):

Data.java (パッケージnamespace.my.databindingtest):

activity_main.xml (解像度/レイアウト):

MainActivity.java (パッケージnamespace.my.databindingtest):

IDE のエラーは次のとおりです。

Data.javaファイル内で、BRヒントとともに赤で強調表示されCannot resolve symbol 'BR'ます。

スクリーンショット Data.java

activity_main.xmlファイル内で、@{data.visible ? View.VISIBLE : View.GONE}ヒントとともに赤で強調表示されCannot resolve symbol @{data.visible ? View.VISIBLE : View.GONE}ます。

ここに画像の説明を入力

私がこれまでに試したこと:

  • ファイル>キャッシュの無効化 / 再起動...
  • ビルド>プロジェクトの消去
  • グーグルでコードをいじって...

では、どうすればこれらのエラーを解決できますか?

0 投票する
1 に答える
355 参照

android - Android インストルメンテーション テストの dexing エラー

Espresso でインストルメンテーション テストを実行しようとしていますが、テストをコンパイルすると、gradle make がエラーを返します。

エラー: Gradle: バイトコードを dex に変換中にエラーが発生しました: 原因: com.android.dex.DexException: 複数の dex ファイルが Landroid/databinding/DataBindingComponent を定義しています。

いくつかの依存関係エラーがあると想定し、次のような依存関係をリストしました。
.\gradlew app:dependencies

そして奇妙なことがありました:私はデータバインディングバージョン1.0-rc4を使用していますが、リストされた依存関係には1.0-rc3がありました:

この 1.0-rc3 はどこから来たのですか? プロジェクト全体にそのような文字列「rc3」はありません(生成されたdex-cacheファイルを除く)。

UPD:
これは android gradle-plugin の問題だと思います。同じコードが gradle 1.5 で動作しますが、gradle 2.0.0-beta2 と 2.0.0-beta4 では失敗するためです。
UPD2:
問題を解決しました。
プロジェクトは比較的古く、android-databindingプラグインはベータ版から成長しましたgradle 1.5.0-beta1
。データバインディングを有効にするには、追加するだけです

あなたのandroid{}セクションで。

したがって、このような問題に直面した場合は、ファイルからこれらの文字列を削除したことを確認してくださいbuild.gradle:
1) apply plugin: 'com.android.databinding'
2) classpath 'com.android.databinding:dataBinder:1.0-rc4'
3)apt 'com.android.databinding:compiler:1.0-rc4'

0 投票する
1 に答える
1673 参照

android - DataBinding ライブラリ インクルードは、変数なしでは機能しません

George Mountが 1.0-rc4 から始めて言っ たように、データ バインディングを使用する場合、インクルードに変数は必要なくなりました。

ボタン.xml:

main.xml:

しかし、私はそれを試してみましたが、エラーが発生しました:

エラー:(10, 31) 識別子には、XML ファイルからのユーザー定義型が必要です。toolbarViewModel にそれがありません

ツールバーが含まれています:

ツールバーのレイアウトは次のとおりです。

なにが問題ですか?

注: 渡された変数を使用すると、すべて正常に動作することがわかっています。ジョージが言った使い方を理解しようとしています。