Skip to content Skip to sidebar Skip to footer

Android Databinding In Expandablelistview

I have a problem in expandableListView that is weird with databinding.There is textview of quantity which can be incremented/decremented on button click.The Textview correctly upda

Solution 1:

Maybe the problem is solved already but if not, I would change the getGroupView(...) method (and getChildView likewise) for the case when view is not null like this:

@Override
public View getGroupView(final int i, boolean b, View view, ViewGroup viewGroup) {
    final ProductItems productItems = productItemsArrayList.get(i);
    final ProductItemBinding  productItemsBinding;
    if (view == null) {
        LayoutInflater layoutInflater = LayoutInflater.from(viewGroup.getContext());
        productItemsBinding = DataBindingUtil.inflate(layoutInflater, R.layout.product_items, viewGroup, false);
        HelveticaNeueFontHelper.applyHelveticaneuemedFont(contextActivity, productItemsBinding.productTitleTextView);
        productItemsBinding.productTitleTextView.setTextSize(contextActivity.getResources().getDimension(R.dimen.dim_64_pt));
        view = productItemsBinding.getRoot();
        HelveticaNeueFontHelper.applyHelveticaneuemedFont(contextActivity, productItemsBinding.productPriceTextView);
        productItemsBinding.productPriceTextView.setTextSize(contextActivity.getResources().getDimension(R.dimen.dim_72_pt));
        HelveticaNeueFontHelper.applyHelveticaneuemedFont(contextActivity, productItemsBinding.qtyTextView);
        productItemsBinding.qtyTextView.setTextSize(contextActivity.getResources().getDimension(R.dimen.dim_104_pt));
    }
    else
    {
        productItemsBinding = (ProductItemBinding) view.getTag();
    }

    productItemsBinding.setHandler(new QuantityHandler() {
        @Override
        public void onQuantityIncrement() {
            changeQuantity(productItemsBinding, productItems, productItems.getProductItemQty(), Constants.ADDITION);
            Toast.makeText(contextActivity, "quantityIncrement : ", Toast.LENGTH_LONG).show();
        }

        @Override
        public void onQuantityDecrement() {
            changeQuantity(productItemsBinding, productItems, productItems.getProductItemQty(), Constants.SUBTRACTION);
            Toast.makeText(contextActivity, "quantityDecrement : ", Toast.LENGTH_LONG).show();
        }
    });
    productItemsBinding.setProductItems(productItems);

    view.setTag(productItemsBinding);

    return view;
}

Post a Comment for "Android Databinding In Expandablelistview"