如何从alertdialog中的EditText更新TextView的内容

时间:2016-04-22 11:39:57

标签: android eclipse

我希望在单击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();
                }

            }
        });
    }
});

0 个答案:

没有答案