を反転することはできません。safeUnbox()私は私のAndroidアプリケーションのすべての警告を排除しようとしているそのうちの一つがこれです
viewModel.valueは箱入りの分野であるだけに非ボックス化する必要がありますandroid:checkedを実行します。これにより、NPEがデータバインディングによって安全にアンボックスされるようになります。あなたは式を変更して、明示的に警告を防ぐためにsafeUnbox()でviewModel.valueをラップすることができます値は、スーパークラスから来ている一般的な
ObservableField
ある
:
public abstract class BaseDataTypeViewModel<T> extends BaseObservable {
public final ObservableField<T> value = new ObservableField<>();
...
}
そして、どこかのようにextentedされますBoolean
:
public class CheckBooleanDataTypeViewModel extends BaseDataTypeViewModel<Boolean> {
...
}
私は、これはBoolean
ないであるため、警告が起こることdata binding - safeUnbox warningで見ましただから私はこれを追加しようとした:android:checked="@={viewModel.value}"
の代わりにandroid:checked="@={safeUnbox(viewModel.value)}"
しかし、私はsafeUnbox()
メソッドを反転することはできないと言っているエラーを持っています。
**** /エラーデータバインディングが**** MSG:式android.databinding.DynamicUtil.safeUnbox(viewModelValue)が反転することはできません:メソッドsafeUnboxのための逆はありません、あなたは@InverseMethodを追加する必要がありますそれを使用する際に使用されるべき方法を示すためのメソッドに注釈バインディング式
双方向で、私は2つの分離の問題を正しく理解し、私はエラーを回避するために、警告と一緒に暮らすために持っているか、彼らのですか警告とエラーの両方を回避するソリューション?それについては、@InverseMethod
についてはどうですか?メソッドがアンドロイドパッケージから来ているので、私はこの注釈を追加することはできませんでした。
から学んだことのほとんど!それを解決する良い方法。私は "com.example ..."を ''タグにインポートしました。 –
MHogge