所以我有一个显示在片段中的对话框。我需要用对话框更改textview。 所以我用editText创建了一个对话框,但我不知道如何传递char序列 从对话框到片段。
rename_dialog_edit
是来自对话框
GroupName
是片段
积极点击:
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!");
}
答案 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变量名一致。这可能是一个很好的做法。