2016-08-11 11 views
1

私はAndroidデータバインディングを使用しましたが、成功しませんでした。documentationで提案されているすべてを行っていますが、メソッド値を設定する必要があるときはnullになります。 は、私は、Android Studioの2.1.2を使用していると私は私がまさにダ同じプットレイアウトを行うDataBindingUtil.setContentView(this、resource)返り値null

レイアウトで
dataBinding { 
    enabled = true 
} 

のGradleに入れ、I内のタグデータ置く:

<data> 
    <variable name="order" type="com.example.Order"/> 
</data> 

とコードで

私が欲しいですバインディング変数を持つようにするには

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
ActivityOrderOnePaneBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_order_one_pane); 
binding.setOrder(mOrder); 

バインディングはnullです。コンパイルエラーはありません。

+1

レイアウトファイルのルート要素として 'layout'を使用しましたか? – tynn

+0

はい私はやったし、アンドロイドはクラスを作成し、私は何の問題もなく実行することができるので、コンパイルエラーはありません。 –

+0

'onCreate()'のコードを投稿できますか? –

答えて

1

あなたActivitysetContentViewをオーバーライドしているので、あなたが交換する必要があります。

ActivityOrderOnePaneBinding binding = DataBindingUtil.inflate(getLayoutInflater(), R.layout.activity_order_one_pane, getContentFrame(), false); 
setContentView(binding.getRoot()); 

ActivityOrderOnePaneBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_order_one_pane); 

私は私のベースActivitysetContentViewをオーバーライドするので、私は同じ問題を抱えていたし、それが固定それ。

+0

ありがとう、実際には動作します;) –

+0

は、 'getContentFrame()'の定義を見つけることができません。 –

関連する問題