Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从实现DialogFragment的类中设置textview中的文本_Java_Android - Fatal编程技术网

Java 如何从实现DialogFragment的类中设置textview中的文本

Java 如何从实现DialogFragment的类中设置textview中的文本,java,android,Java,Android,我在安卓系统中尝试对话,我遇到了一些问题。 我有两个类,一个是扩展活动的MainActivity,另一个是扩展DialogFragment的MyDialog。正是从MainActivity中的一个新MyDialog对象调用对象上的show方法来显示对话框 现在,在选择了任何选项之后,我尝试了多种方法将文本设置为文本视图,但我无法使用findViewById方法,因为它来自活动,并且我没有在MyDialog中扩展活动。尝试创建一个新的活动对象(只是尝试)并从中使用findViewById方法,但没

我在安卓系统中尝试对话,我遇到了一些问题。
我有两个类,一个是扩展活动的MainActivity,另一个是扩展DialogFragment的MyDialog。正是从MainActivity中的一个新MyDialog对象调用对象上的show方法来显示对话框


现在,在选择了任何选项之后,我尝试了多种方法将文本设置为文本视图,但我无法使用findViewById方法,因为它来自活动,并且我没有在MyDialog中扩展活动。尝试创建一个新的活动对象(只是尝试)并从中使用findViewById方法,但没有成功。
此外,我还尝试在创建MyDialog对象之前在MainActivity的OnCreate方法中创建公共TextView,并尝试从另一个类访问和设置Text,但它也不起作用。请帮助,在从DialogFragment附带的setPositive、setNegative和setNeutral方法中选择对话框上的选项后,如何设置文本

这里是MyDialog类的一些摘录,只是我为对话框选项设置标题等的部分:

@凌驾 创建对话框上的公共对话框(Bundle savedInstanceState){

你试过了吗

TextView yourTextView = (TextView) getActivity().findViewById(R.id.yourTextView);
yourTextView.setText("Some text");
你试过了吗

TextView yourTextView = (TextView) getActivity().findViewById(R.id.yourTextView);
yourTextView.setText("Some text");
?选项1:

使用
getActivity()
getParentFragment()
,具体取决于您正在创建的
对话框片段
是什么文件(活动/片段),并设置一个公共方法,如
setTextForMyView(字符串文本)
,该方法接受一个属性并将其放入文本视图

仅当您使用活动的上下文创建DialogFragment时,这才有效,这意味着您正在执行类似于
new MyDialogFragment(This…
的操作,而不是
new MyDialogFragment(getApplicationContext()…)

备选案文2:

对话框片段
中设置一个
接口
,让父活动实现它,在显示对话框之前将父活动作为接口的侦听器传入构造函数或某些方法,然后在单击后调用接口的方法

旁注:我强烈建议您通读文档,这样您就可以知道为什么在其他活动中引用
TextView
s或尝试创建新活动无效。

选项1:

使用
getActivity()
getParentFragment()
,具体取决于您正在创建的
对话框片段
是什么文件(活动/片段),并设置一个公共方法,如
setTextForMyView(字符串文本)
,该方法接受一个属性并将其放入文本视图

仅当您使用活动的上下文创建DialogFragment时,这才有效,这意味着您正在执行类似于
new MyDialogFragment(This…
的操作,而不是
new MyDialogFragment(getApplicationContext()…)

备选案文2:

对话框片段
中设置一个
接口
,让父活动实现它,在显示对话框之前将父活动作为接口的侦听器传入构造函数或某些方法,然后在单击后调用接口的方法


旁注:我强烈建议您通读文档,这样您就可以知道为什么在其他活动中引用
TextView
s或尝试创建新的活动不起作用。

thanx dude这工作很好。对于android来说真的很新吗?thanx dude这工作很好。对于android来说真的很新吗