从Dialog EditText更改TextView

时间:2013-08-15 19:49:34

标签: java android textview android-edittext

所以我有一个显示在片段中的对话框。我需要用对话框更改textview。 所以我用editText创建了一个对话框,但我不知道如何传递char序列 从对话框到片段。

rename_dialog_edit是来自对话框

的EditText

GroupName是片段

中的TextView

积极点击:

GroupName.setText((CharSequence) rename_dialog_edit);

积极点击后,我的textview变空。我该如何正确设置呢?

更新

    protected static TextView GroupName;
protected static EditText rename_dialog_edit;

在onCreateView中我有:

TextView GroupName = (TextView) view.findViewById(R.id.group_details_name); 
EditText rename_dialog_edit = (EditText) view.findViewById(R.id.groupdetails_rename);

这是我的onCreateDialog:

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        LayoutInflater inflater = getActivity().getLayoutInflater();
        //int title = getArguments().getInt("title");

        return builder.setView(inflater.inflate(R.layout.group_details_rename_dialog, null))
                //.setIcon(R.drawable.logo)
                //.setTitle(R.string.groupDetails_rename)
                .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
           @Override
           public void onClick(DialogInterface dialog, int id) {
               doPositiveClick();
           }
                    })
                        .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
                               public void onClick(DialogInterface dialog, int id) {
                                   doNegativeClick();
                               }
                        })
                        .create();
    }

这是我的积极点击:

    public static void doPositiveClick() {

    GroupName.setText(rename_dialog_edit.getText().toString());

    //Log.i("FragmentAlertDialog", "Positive click!");
}

1 个答案:

答案 0 :(得分:3)

EditText获取文字,如:

String str= ((EditText)findViewById(R.id.rename_dialog_edit)).getText().toString();

将其设置为textView,如:

TextView text = (TextView) findViewById(R.id.this_is_the_id_of_your_textview);
text.setText(str);
你试过这样的事吗?

<强>更新

在按钮监听器内部执行:

GroupName.setText(rename_dialog_edit.getText().toString())

还尝试与Java中的camelCase变量名一致。这可能是一个很好的做法。