1

所以我有一个显示在片段中的对话框。我需要用对话框更改文本视图。所以我创建了一个带有editText的对话框,但我不确定如何将字符序列从对话框传递到片段。

rename_dialog_edit是对话框中的 EditText

GroupName是来自片段的 TextView

正面点击:

GroupName.setText((CharSequence) rename_dialog_edit);

肯定点击后,我的文本视图变空。我该如何正确设置它?

更新

    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!");
}
4

1 回答 1

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 变量名保持一致。这可能是一个很好的做法。

于 2013-08-15T19:58:12.430 回答