Как получить текст из TextView CustomAdapter в MainActivity?

У меня есть кастомный адаптер, который заполняет ListView MainActivity с переопределенным отображением. Как мне получить текст из TextView адаптера и передать его в MainActivity, где поле TextView адаптера - OpCount? На экран выводится: Слева - Название операции с Чекбоксом и справа OpCount - их кол-во, в дальнейшем я хочу текствью OpCount заменить на EditText, но тогда элемнт LW перестает нажиматься, поэтому я пока просто хочу попытаться получить этот элемнт и умножить его на время операции - массив Time

Код MainActivity:

        @Override
        public void onResume() {
            super.onResume();
            try {
                db = databaseHelper.open();
                c = db.rawQuery("select * from " + TABLE + " group by " + COLUMN_OPERATION , null);

                // Колонки курсора в массивы
                List<String> opL = new ArrayList<>();
                for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                    opL.add(c.getString(c.getColumnIndex(COLUMN_OPERATION)));
                }
                String[] Operation = opL.toArray(new String[0]);

                List<String> timeL = new ArrayList<>();
                for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                    timeL.add(c.getString(c.getColumnIndex(COLUMN_TIME)));
                }
                String[] Time = timeL.toArray(new String[0]);

                List<String> opC = new ArrayList<>();
                for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                    opC.add(c.getString(c.getColumnIndex(COLUMN_OPCOUNT)));
                }
                String[] OpCount = opC.toArray(new String[0]);

              ListView.setAdapter(new CustomAdapter(this, Operation, OpCount));

                button.setOnClickListener(v -> {
                    SparseBooleanArray positions = ListView.getCheckedItemPositions();
                    Integer ResintTime = 0;
                    Integer Count = 0;
                    TextView.setText("Количество выбранных элементов - "+ Count + " Общее время - "+ ResintTime.toString()+" минут");
                    for (int i = 0; i<positions.size();i++) {
                        Boolean checked = positions.valueAt(i);
                        if (checked){
                            int k = positions.keyAt(i);
                            Count +=1;

                            Integer IntOpCount = Integer.parseInt(OpCount[k]); // в () переменная - String представление Etext.getText
                            ResintTime += Integer.parseInt(Time[k])*IntOpCount;
                            TextView.setText("Количество выбранных элементов - "+ Count + " Общее время - "+ ResintTime +" минут");
                        }
                    }
                });

    } catch (Exception e) {
    }
}

Код CustomAdapter:

 class CustomAdapter extends BaseAdapter
{

    Context context;
    CheckedTextView htext;
    TextView text;
    String[] data;
    String[] data1;
private static LayoutInflater inflater = null;

public CustomAdapter(Context context, String[] data, String[] data1) {
        // TODO Auto-generated constructor stub
        this.context = context;
        this.data = data;
        this.data1 = data1;
        inflater = (LayoutInflater) context
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        }

@Override
public int getCount() {
        // TODO Auto-generated method stub
        return data.length + data1.length;
        }

@Override
public Object getItem(int position) {
        // TODO Auto-generated method stub
        return data[position] + data1[position];
        }

@Override
public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
        }

@Override
public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub

        View vi = convertView;
        if (vi == null)
        vi = inflater.inflate(R.layout.item, null);
        htext = vi.findViewById(R.id.htext);
        text = vi.findViewById(R.id.Etext);
        htext.setText(data[position]);
        text.setText(data1[position]);
        return vi;
        }
        }

И код item.xml , через который заполняется адаптер:

       android:id="@+id/htext"
       android:layout_width="251dp"
       android:layout_height="64dp"
       android:checkMark="?android:attr/listChoiceIndicatorMultiple" />

   <TextView
       android:id="@+id/Etext"
       android:layout_width="fill_parent"
       android:layout_height="66dp"
       android:paddingLeft="2dp"
       android:paddingTop="2dp"
       android:paddingRight="2dp" />``` 

Ответы (0 шт):