當前我正在開發一個android應用程序,併爲我的gui使用數據綁定。Android中充氣佈局的數據綁定不刷新
我的問題是,我想要顯示的數據不會自動刷新。
我認爲我的問題的根源是我膨脹多個子視圖到我的根視圖。我的看法層次結構看起來是這樣的:
- layout_activity_main
- fragment_layout_0(沒有數據在這裏綁定)
- fragment_layout_1(佈局爲某個設備顯示詳細信息)
- process_data_view
- value_0_view
- value_1_view
- ...
- interface_view
- ...
- process_data_view
我使用的數據爲process_data_view和value_x_view結合,這樣的觀點越來越被自動刷新。如果設備不包含過程數據,則process_data_view應該是不可見的。直到這一點它工作正常,因爲該設備的數據綁定是在片段的onCreateView方法中設置的。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup Bundle savedInstanceState) {
binding = DataBindingUtil.inflate(inflater,R.layout.layout_details_new,container,false);
return binding.getRoot();
}
當沒有處理數據,該視圖是不可見的,並且當我在運行期間接收的過程數據的角度的自動可見。
但現在我想膨脹另一個xml文件的value_x_view。我膨脹這樣的:
private void setValue(View view, int value){
ValueViewBinding valueBinding = DataBindingUtil.inflate(getLayoutInflater(null), R.layout.value_view, (LinearLayout)view, false);
valueBinding.setValue(value)
View valueView = valueBinding.getRoot();
((LinearLayout) view).addView(valueView);
}
*參數「視圖」是父片段佈局
我膨脹約12 value_views當運行applikation內的LinearLayout並且它們被正確顯示。唯一的問題是他們沒有得到刷新。他們只顯示value_view被誇大時有效的值。
有沒有辦法讓數據綁定工作。我錯過了什麼,或者我做錯了什麼?
不知道你的數據綁定,但嘗試getActivity()getLayoutInflater()而不是getLayoutInflater(空) –
我試過了,但現在我的value_views沒得到了充氣 – Tir
對不起,他們確實正在膨脹。但數值仍然不令人耳目一新 – Tir