第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在 Android TextWatcher 中匯總 EditText 值

在 Android TextWatcher 中匯總 EditText 值

慕運(yùn)維8079593 2022-10-07 16:26:35
圖片我有一個(gè)RecyclerView動(dòng)態(tài)創(chuàng)建的字段。為了保存存儲(chǔ)的數(shù)據(jù),我使用了 TextWatcher。但我不知道如何總結(jié) EditText -Cost 中的值并在屏幕底部的 TextView 中顯示該值public class ItemsAdapter extendsListAdapter<Item,ItemsAdapter.ViewHolder> {        private List<Item> mItems=new ArrayList<>();        public static final DiffUtil.ItemCallback<Item>DIFF_CALLBACK=                new DiffUtil.ItemCallback<Item>() {                    @Override                    public boolean areItemsTheSame( Item oldItem, Item newItem) {                        return oldItem.getId()==newItem.getId();                    }                    @Override                    public boolean areContentsTheSame(Item oldItem, Item newItem) {                        return(oldItem.getName()==newItem.getName()&&oldItem.getCost()==newItem.getCost());                    }                };        public ItemsAdapter(){super(DIFF_CALLBACK);}        public void addMorreItems(List<Item> newItems){            int insertionPosition=mItems.size();            mItems.addAll(newItems);            notifyItemRangeInserted(insertionPosition,newItems.size());            submitList(mItems);        }        @Override        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType){            Context context=parent.getContext();            LayoutInflater inflater=LayoutInflater.from(context);            View itemView=inflater.inflate(R.layout.custom_edittext_layout,parent,false);            ViewHolder viewHolder=new ViewHolder(itemView);            return viewHolder;        }        @Override        public void onBindViewHolder(ViewHolder viewHolder,int position){            viewHolder.editTextName.setText(mItems.get(position).getName());            viewHolder.editTextCost3.setText(mItems.get(position).getCost());            Item item=getItem(position);            EditText editText=viewHolder.editTextName;            editText.setText(item.getName());            EditText editText1=viewHolder.editTextCost3;            editText1.setText(item.getCost());        }
查看完整描述

1 回答

?
www說(shuō)

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊

為持有 TextView的Activity/添加回調(diào)以獲取總成本:Fragment

interface OnCostChangeListener {

  void onChange(List<Item> list);

}

實(shí)現(xiàn)它:

class MyActivity extends AppCompatActivity implements OnCostChangeListener {

//...

  @Override  

  public void onChange(List<Item> list) {

    int sum = 0;

    for (Item it : list) {

      sum += it.getCost();

    }


    ((TextView) findViewById(R.id.totalCost)).setText(String.valueOf(sum));

  }

//...

}

訂閱適配器:

private OnCostChangeListener mListener;

public ItemsAdapter(OnCostChangeListener listener){

  super(DIFF_CALLBACK);

  this.mListener = listener;

}

并在以下位置使用偵聽(tīng)器TextWatcher:


editTextCost3.addTextChangedListener(new TextWatcher() {

                @Override

                public void beforeTextChanged(CharSequence s, int start, int count, int after) {


                }


                @Override

                public void onTextChanged(CharSequence s, int start, int before, int count) {

                    mItems.get(getAdapterPosition()).setmCost(editTextCost3.getText().toString());

                    if (mListener != null) {

                      mListener.onChange(mItems);

                    }

                }


                @Override

                public void afterTextChanged(Editable s) {


                }

            });

升級(jí)版。它應(yīng)該cost存儲(chǔ)Item為數(shù)字(整數(shù),在示例中),而不是字符串


查看完整回答
反對(duì) 回復(fù) 2022-10-07
  • 1 回答
  • 0 關(guān)注
  • 125 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)