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

时间:2020-02-11 04:16:54

标签: android listview text dialog onclicklistener

  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());”警报对话框按钮单击事件时。但这是行不通的。

1 个答案:

答案 0 :(得分:0)

我使用基本适配器并使用ViewHolder尝试检索值。对我来说有用。 `if(((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).show(); 如果(remarkTv.getText()。toString()。equalsIgnoreCase(“”)){ 新的Audit_dialog()。showAlertDialog(“ Information Message”,“备注不能为空”,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();
            }`