Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.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
Android 如何从片段访问同一视图?_Android_Android Fragments_Android Activity - Fatal编程技术网

Android 如何从片段访问同一视图?

Android 如何从片段访问同一视图?,android,android-fragments,android-activity,Android,Android Fragments,Android Activity,我想知道如何从片段访问视图(活动中的视图) 更具体地说,视图在活动中开始,我希望相同的视图在片段中结束。谢谢 在活动中: private View layoutProgress; protected void onCreate(Bundle savedInstanceState){ layoutProgress = findViewById(R.id.layout_progress); layoutProgress.setVisibility(View.GONE); } 按下按钮时: f

我想知道如何从片段访问视图(活动中的视图)

更具体地说,视图在活动中开始,我希望相同的视图在片段中结束。谢谢

在活动中:

private View layoutProgress;

protected void onCreate(Bundle savedInstanceState){

layoutProgress = findViewById(R.id.layout_progress);

layoutProgress.setVisibility(View.GONE);
}
按下按钮时:

fragment.getInstance().printScreen();(function in fragment)
layoutProgress.setVisibility(View.VISIBLE);
片段:

执行代码,我想在片段中设置layoutProgress可见性:

Activity act = getActivity();
if (act == null) return;
View layoutProgress = findViewById(R.id.layout_progress);
但实际上,更好的设计应该是在
活动中调用一个方法,该方法将隐藏
进度条
——以便将与该视图的所有交互保持在一个位置,并且如果您决定使用该进度条执行更多操作,则不会陷入所有状态


阅读上的指南,了解从
片段调用
活动
方法的正确(如将来的防错误)实现,使您的progressview在活动中成为全局的
并在下面访问片段中的progressview

((Youractivity) getActivity()).layoutProgress.setVisibility(View.GONE);

你能发布部分代码吗?您的问题不完整。请提供一些代码。到目前为止你试过什么?如何添加视图?碎片是如何添加的?你想详细了解什么?如果你想得到一个正确的答案,你应该编辑很多细节。很抱歉,这段代码有用吗?如果我这样做,就会创建一个新对象。因此,如果我将layoutProgress.setVisibility(View.VISIBLE)放在一起,另一个视图将被设置为“已消失”。我希望将相同的视图设置为“已消失”。抱歉,如果我的问题不够具体。不,你只能在这里找到它,而不是创建。这是同一个对象,您可以使用调试器自己查看:)我把代码放在片段中的什么地方?,我也在考虑使用onAttach来解决它,但我也不知道,:(>>执行代码,我想设置layoutProgress可见性,如果我这样做,就会创建一个新对象。因此,如果我放置layoutProgress.setVisibility(View.VISIBLE),另一个视图将被设置为已消失。我希望将同一个视图设置为已消失。如果我的问题不够明确,请道歉。