我希望在单击alertdialog后按钮确定后更新TextView但不能。
从代码开始,我使用ListView并使用方法OnItemClickListener()从ListView处理ItemClick。
我的代码如下:
lvMainChat.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
LayoutInflater li = LayoutInflater.from(context);
final View promptsView = li.inflate(R.layout.deskripsi, null);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
context);
// set prompts.xml to alertdialog builder
alertDialogBuilder.setView(promptsView);
final EditText ciperteks2 = (EditText) promptsView
.findViewById(R.id.ciperteks2);
final EditText plainteks2 = (EditText) promptsView
.findViewById(R.id.plainteks2);
final EditText keyOfDeskripsi = (EditText) promptsView
.findViewById(R.id.keyOfDeskripsi);
final Button deskripsi = (Button) promptsView
.findViewById(R.id.btDeskripsi);
ciperteks2.setText((CharSequence) (((TextView) view.findViewById(R.id.txtMsg)).getText()));
result1 = (TextView) findViewById(R.id.txtMsg);
// set dialog message
alertDialogBuilder
.setTitle("Deskripsi Pesan")
.setPositiveButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
String name2 = plainteks2.getText().toString();
if(name2.length() == 0){
Toast.makeText(getApplicationContext(), "You need to type something in the editText", Toast.LENGTH_LONG).show();
}else{
result1.setText(name2);//why it not work
dialog.dismiss();
}
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
deskripsi.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String ciperteks = ciperteks2.getText().toString().trim();
String key2 = keyOfDeskripsi.getText().toString().trim();
String plaintext = plainteks2.getText().toString().trim();
String deKata = "";
if(!plaintext.equals(null)) {
try {
plainteks2.setText("");
deKata = CopyOfZIgZagCode1.RFDecryptionWork(ciperteks, key2);
} catch(Exception e) {}
plainteks2.setText(deKata);
}
if ( key2.isEmpty()) {
Toast.makeText(getApplicationContext(), "Textbox key can not be empty ", 1).show();
}
}
});
}
});