单击按钮后,如何将文本从alertdialog的EditText复制并粘贴到活动的EditText中?

时间:2018-12-14 13:03:33

标签: java android alertdialog

我进行了搜索,但是我看到的问题仅涉及copycopying to clipboardpasting。具体来说,我想要的是(单击1,在PositiveButton中的AlertDialog)是将用户在EditText的{​​{1}}中输入的文本复制到{{1我的alertdialog中的}}。

您能告诉我该怎么做吗?这是我正在使用并尝试修复的代码:

EditText

1 个答案:

答案 0 :(得分:2)

我为您编写了这个简单的代码示例。

只需在“活动”中的edittext上添加setText方法:

private void setTextFromDialog(final String textFromDialog){
    myEditText.setText(textFromDialog);
}

当用户单击对话框时,从edittext对话框获取文本并使用此方法传递

setTextFromDialog(YouEditTextValueX);

此处为代码示例:

import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {
private EditText myEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button ShowDialog = findViewById(R.id.showdialog_id);
    myEditText = findViewById(R.id.editText_id);

    ShowDialog.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);
            final EditText edittext = new EditText(MainActivity.this);
            alert.setTitle("Title");
            alert.setMessage("Message");
            alert.setView(edittext);
            alert.setPositiveButton("Set text", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    String YouEditTextValueX = edittext.getText().toString();
                    if(YouEditTextValueX.length() > 0){

                        //this line for call method and pass the text
                        setTextFromDialog(YouEditTextValueX);
                    }
                }
            });
            alert.setNegativeButton("Exit", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    // what ever you want to do with No option.
                }
            });
            alert.show();
        }
    });
}
private void setTextFromDialog(final String textFromDialog){
    myEditText.setText(textFromDialog);
}
}

希望对您有帮助