单击对话框警报按钮时将值设置为列表视图(多个 onclick 侦听器)

Set value to listview when click dialog alert button (multiple onclick listeners)

  listView.setAdapter(adapter);
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, final View view, int position, long id) {

                TextView accno = view.findViewById(R.id.col_one_four_layout);
                final TextView stage = view.findViewById(R.id.col_four_four_layout);
                final TextView remark = view.findViewById(R.id.col_three_four_layout);
                final String stage_string = stage.getText().toString();

                if (stage_string.equalsIgnoreCase("1")) {
                    final Dialog dialog = new Dialog(Audit_offline.this);
                    dialog.setContentView(R.layout.audit_offline_custom);
                    final EditText remarkTv = dialog.findViewById(R.id.remark_dialog);
                    final TextView accTv = dialog.findViewById(R.id.accountno);
                    accTv.setText("Account Number  :   " + accno.getText().toString());


                    Button btn = dialog.findViewById(R.id.btnTempSave_dialog);


                    btn.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            **stage.setText(remarkTv.getText().toString());**
                        }
                    });

                    dialog.show();
                } 

我想将值设置为“stage.setText(remarkTv.getText().toString());”当警报对话框按钮单击事件。但这是行不通的。

我使用基本适配器并使用 ViewHolder 来尝试检索值。这对我有用。 ` 如果 ((viewHolder.txt_job_status.getText().toString()).equalsIgnoreCase("1")) {

                final Dialog dialog = new Dialog(mContext);
                dialog.setContentView(R.layout.audit_offline_custom);
                dialog.setTitle("Update Remark");

                final EditText remarkTv = dialog.findViewById(R.id.remark_dialog);


                final TextView accTv = dialog.findViewById(R.id.accountno);
                accTv.setText("Account Number  :   " + viewHolder.txt_acc_number.getText().toString());
                final String remark = remarkTv.getText().toString();

                Button btn = dialog.findViewById(R.id.btnTempSave_dialog);

                btn.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {

// Toast.makeText(getContext(), viewHolder.txt_acc_number.getText().toString() + "--" + remarkTv.getText().toString(), Toast.LENGTH_SHORT)。展示(); 如果 (remarkTv.getText().toString().equalsIgnoreCase("")) { 新 Audit_dialog().showAlertDialog("Information Message", "Remark can't be empty", mContext); } 别的 { db.updateRemark(viewHolder.txt_acc_number.getText().toString(), remarkTv.getText().toString()); db.updateStage(viewHolder.txt_acc_number.getText().toString(), "2"); dataModel.setJob_status("2"); dataModel.setRemark(remarkTv.getText().toString()); }

                        dialog.dismiss();
                    }
                });


                dialog.show();
            }`