Open margiel opened 8 years ago
Hi,
I try implement androidbindig with ListViewAdpater. In demo application in class ListViewAdapter.java in method generateView wrote this code:
@Override public View generateView(int position, ViewGroup parent) { MyListAdapterBinding binding = DataBindingUtil.inflate(LayoutInflater.from(getContext()),R.layout.check, parent, false); View convertView = binding.getRoot(); binding.setModel(this.getItem(position)); convertView.setTag(binding); return convertView; }
In my list I see diffrent items on pages with not the same model for row:
Can anybody helps with this idea ?
When I wrote class extends BaseAdapter and implement inside AndroidBinding it works: public class ListViewAndroidBindingAdapter extends BaseAdapter {
private Context mContext; private List<ListDataModel> dataList; public ListViewAndroidBindingAdapter(Context mContext) { this.mContext = mContext; dataList = ListDataManager.getListDataModelList(); } @Override public int getCount() { return dataList.size(); } @Override public Object getItem(int position) { return dataList.get(position); } public ListDataModel getModel(int position) { return (ListDataModel)getItem(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ListviewadapterItemBinding binding = null; if(convertView == null) { binding = DataBindingUtil.inflate(LayoutInflater.from(mContext),R.layout.listviewadapter_item, parent, false); convertView = binding.getRoot(); } else { binding = (ListviewadapterItemBinding)convertView.getTag(); } binding.setViewModel(new ListViewAdapterViewModel(getModel(position))); convertView.setTag(binding); return convertView; }
}
I prepare simple solution for this two kind of situations: https://bitbucket.org/margiel/androidbindingpoc
Hi,
I try implement androidbindig with ListViewAdpater. In demo application in class ListViewAdapter.java in method generateView wrote this code:
@Override public View generateView(int position, ViewGroup parent) { MyListAdapterBinding binding = DataBindingUtil.inflate(LayoutInflater.from(getContext()),R.layout.check, parent, false); View convertView = binding.getRoot(); binding.setModel(this.getItem(position)); convertView.setTag(binding); return convertView; }
In my list I see diffrent items on pages with not the same model for row:
Can anybody helps with this idea ?
When I wrote class extends BaseAdapter and implement inside AndroidBinding it works: public class ListViewAndroidBindingAdapter extends BaseAdapter {
}
I prepare simple solution for this two kind of situations: https://bitbucket.org/margiel/androidbindingpoc