Я начал использовать привязку данных Android, но без успеха. Я сделал все, что было предложено в документации, но когда мне нужно установить значение метода я получить null. Я использую Android Studio 2.1.2, и я ввел gradle
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);
Связывание равно null, у меня нет ошибок компиляции.
Поскольку вы переопределяете setContentView
в своем Activity
, вам нужно заменить:
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());
У меня была такая же проблема, потому что я переопределил setContentView
в моей базе Activity
и исправил ее.
getContentFrame( )
layout
как корневой элемент файла макета?