Список, который я здесь использую, не является RecyclerView или ListView.Он создается с использованием просто linearLayout.
llItemList = (LinearLayout)findViewById(R.id.ll_list);
И добавляя views
, как показано ниже
listAdapter = new ReadingSheetAdapter(ReadingSheetActivity.this, readingDataList);
for (int i = 0; i < arrPdtId.size(); i++) {
llItemList.addView(listAdapter.getView(i, null, llItemList));
}
Здесь я использую editText
в элементах списка, который описан вадаптер класса.У меня button
в активности.
Я хочу сбросить все значения editText
при нажатии кнопки.
Ниже getView()
класса ReadingSheetAdapter
.
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.reading_sheet_layout, parent, false);
holder.pdtName = (TextView)convertView.findViewById(R.id.txt_list_pdt_supp);
holder.keyId = (TextView)convertView.findViewById(R.id.key_set);
holder.tvOpenRead = (TextView) convertView.findViewById(R.id.open_val_set);
holder.etClosRead = (EditText)convertView.findViewById(R.id.clos_val_set);
holder.consumption = (TextView)convertView.findViewById(R.id.consumption_val);
convertView.setTag(holder);
} else {
holder = (ViewHolder)convertView.getTag();
}
ReadingData temp = readingList.get(position);
holder.pdtName.setText(temp.pdtName);
holder.keyId.setText("Key "+temp.keyId);
holder.tvOpenRead.setText(temp.closReading);
holder.holdPos = position;
holder.etClosRead.addTextChangedListener(new TextWatcher() {
boolean ignore = false;
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (ignore)
return;
ignore = true;
valOpenReading = holder.tvOpenRead.getText().toString();
arrValOpenRead[position] = valOpenReading;
valClosReading = s.toString().equals("") ? "0": s.toString();
arrValClosRead[position] = valClosReading;
if (Integer.parseInt(valClosReading) < Integer.parseInt(valOpenReading)) {
Toast.makeText(context, "Check once! closing reading should be more than opening reading!", Toast.LENGTH_LONG).show();
valConsumption = "0";
holder.consumption.setText("");
} else {
valConsumption = (Integer.parseInt(valClosReading) - Integer.parseInt(valOpenReading))+"";
arrValConsumption[position] = valConsumption;
holder.consumption.setText(valConsumption);
}
ignore = false;
}
});
return convertView;
}
Как выполнить действие на editText
, который находится в классе адаптера при нажатии кнопки, которая находится в действии?
Спасибо.