Java 从编辑文本对话框更改文本视图
所以我有一个对话框出现在片段中。我需要用对话框更改文本视图。 因此,我创建了一个带有editText的对话框,但我不确定如何传递字符序列 从对话框到片段Java 从编辑文本对话框更改文本视图,java,android,textview,android-edittext,Java,Android,Textview,Android Edittext,所以我有一个对话框出现在片段中。我需要用对话框更改文本视图。 因此,我创建了一个带有editText的对话框,但我不确定如何传递字符序列 从对话框到片段 rename\u dialog\u edit是编辑对话框中的文本 GroupName是来自片段的文本视图 单击鼠标右键: public static void doPositiveClick() { GroupName.setText(rename_dialog_edit.getText().toString());
rename\u dialog\u edit
是编辑对话框中的文本
GroupName
是来自片段的文本视图
单击鼠标右键:
public static void doPositiveClick() {
GroupName.setText(rename_dialog_edit.getText().toString());
//Log.i("FragmentAlertDialog", "Positive click!");
}
GroupName.setText((CharSequence)重命名对话框编辑)代码>
肯定单击后,我的文本视图变为空。如何正确设置它
更新
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!");
}
从编辑文本中获取文本,如:
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变量名的名称保持一致。这可能是一个很好的做法 只是好奇,为什么不能从EditText中获取文本作为字符串,然后将其传递到TextView的settText()?请显示更多的代码,说明您实际上是如何完成这一任务的。那就更清楚了,我试过了。有一些错误,像我记得的“字符串无法获取edittext字符”。您能告诉我如何正确获取此字符串吗?请显示代码的相关部分,您正在尝试相同的操作。那就更容易找到解决方案了。newstringtemp=rename\u dialog\u edit代码>类型不匹配:无法从EditText转换为R.string。然后我会把temp放进settext,这不是你要做的。检查我的答案。根据您编写的代码,我最终得到了以下代码:String str=((EditText)rename_dialog_edit).getText().toString();TextView text=(TextView)组名;text.setText(str)
我认为它应该可以工作,但我的应用程序在点击“亲爱的,你忘了”R.id.
后崩溃了?否则,您将如何引用您在XML文件中定义了ID的EditText?再说一遍,什么是组名?如果您需要更多帮助,您必须显示您尝试过的代码。这里的其他人将无法获得更多帮助。:)这是我的最后一个代码:String str=((EditText)rename_dialog_edit).getText().toString();GroupName.setText(str)在onCreateView中,我有:GroupName=(TextView)view.findViewById(R.id.group\u details\u name);rename_dialog_edit=(EditText)view.findViewById(R.id.groupdetails_rename)代码>那么我为什么要再次使用它们?仍然崩溃:通常这必须起作用,应该有其他东西触发崩溃<代码>受保护的静态文本视图组名;受保护的静态编辑文本重命名对话框编辑在onCreateViewGroupName=(TextView)视图中的code>\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;rename_dialog_edit=(EditText)view.findViewById(R.id.groupdetails_rename)代码>可能出现什么问题?它在您的按钮Handler.handleMessage中有一个空指针。您能在每次提供的sniplet不足时发布java类本身吗