2016-08-11 70 views
1

我開始使用Android數據綁定,但沒有成功。我完成了documentation中的所有建議,但是當我必須設置方法值時,我會得到空值。 我使用的Android 2.1.2工作室,我把在gradle這個DataBindingUtil.setContentView(this,resource)返回null

dataBinding { 
    enabled = true 
} 

佈局我做完全一樣大放佈局和內,我把標籤數據:

<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); 

綁定爲空,我沒有編譯錯誤。

+1

您是否使用'layout'作爲佈局文件的根元素? – tynn

+0

是的,我做了,android做類和一切我沒有任何complie錯誤,所以我可以運行沒有任何問題 –

+0

你可以發佈你的代碼'onCreate()'? –

回答

1

既然你在你的Activity覆蓋setContentView,則需要更換:

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

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

我有同樣的問題,因爲我在基地Activity和固定推翻setContentView它。

+0

謝謝,它確實有效;) –

+0

找不到'getContentFrame()'的定義' –