单击对话框警报按钮时将值设置为列表视图(多个 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();
}`
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();
}`