Updating textview on activity once data in adapter class is changed

后端 未结 4 1738
南笙
南笙 2020-12-05 09:07

I am having textview txtQuantity in my dashboard activity. I wrote separate class for custom adapter which will contain sold products.

 protected void onCrea         


        
4条回答
  •  無奈伤痛
    2020-12-05 09:26

    By providing a simple callback.

    For this to work write a simple interface in your adapter

    public interface OnDataChangeListener{
        public void onDataChanged(int size);
    }
    

    and add a setter for the listener (also in the adapter)

    OnDataChangeListener mOnDataChangeListener;
    public void setOnDataChangeListener(OnDataChangeListener onDataChangeListener){
        mOnDataChangeListener = onDataChangeListener;
    }
    

    now add additional code to the following block in the adapter

    private void doButtonOneClickActions(TextView txtQuantity, int rowNumber) {
        ...
        if(mOnDataChangeListener != null){
            mOnDataChangeListener.onDataChanged(data.size());
        }
    }
    

    in your dashboard activity you then need to register the listener

    protected void onCreate(Bundle savedInstanceState) {
        ...
        adapter.setOnDataChangeListener(new Sold_item_adaptor.OnDataChangeListener(){
            public void onDataChanged(int size){
                //do whatever here
            }
        });
    }
    

    That's about it ;).

提交回复
热议问题