2017-10-27 4 views
1

私は<include>を使用して、親レイアウト内にいくつかのレイアウトを含めるようにしています。BRファイルのデータバインディング

問題: 一部の私のviewModelフィールドはBRファイルで生成され、いくつかは欠落しています。何が問題ですか?

説明:

  • 欠落フィールドは<include>タグに含まれているレイアウトで使用されています。

  • 生成されたフィールドは親レイアウトで使用されます。例えば

:以下のコードで

BR.name変数名は、BRファイルに生成され、親のレイアウトに使用されます。

public void setName(String phoneNumber){ 
     this.phoneNumber = phoneNumber; 
     notifyPropertyChanged(BR.phoneNumber); 
    } 

以下のコードでは、子レイアウトで使用されるBRファイルにパスワードがありません。

public void setPassword(String password){ 
    this.password = password; 
    notifyPropertyChanged(BR.password); 
} 

これはなぜ発生しているのですか?

これまで何を試みましたか?

アンドロイドスタジオを再起動してキャッシュを無効にしましたが、まだ問題があります。

答えて

1

ハレイ! Googleの公式サイトで解決策hereが見つかりました。

「バインド可能なアノテーションはコンパイル時にBRクラスファイルにエントリを生成します。」

だから、僕はゲッターに@Bindable注釈を追加する必要があります。

関連する問題