gpt4 book ai didi

android - 在 fragment 中使用 onConfigurationChanged

转载 作者:可可西里 更新时间:2023-11-01 18:54:27 25 4
gpt4 key购买 nike

我在 fragment 中有这段代码

public class TestOne extends Fragment {

View view = null;

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);

LayoutInflater inflater2 = (LayoutInflater)getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater2.inflate(R.layout.testone, null);

Toast.makeText(getActivity(), "Rotate fragment", Toast.LENGTH_SHORT).show();
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

Toast.makeText(getActivity(), "onCreate Fragment", Toast.LENGTH_SHORT).show();

}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
view = inflater.inflate(R.layout.testone, null);

Toast.makeText(getActivity(), "onCreateView fragment", Toast.LENGTH_SHORT).show();

return view;
}

}

我想做的是,当我旋转手机时,我不想再次执行这些方法。但是我想再次调用xml布局,加载layout-land文件夹的xml。

这段代码没有给出任何错误,只是不起作用,不明白原因..

我真的很想用 onConfiguratonChanged 做这件事

感谢任何帮助。

感谢和问候

最佳答案

onCreateView 中创建 FrameLayout - 这是您 fragmenView 的容器。然后创建您的 R.layout.testone 并将其添加到 frameLayout

onConfigurationChanged中清除FrameLayout,重新创建R.layout.testone并将其添加到frameLayout

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState)
{
frameLayout = new FrameLayout(getActivity());
LayoutInflater inflater = (LayoutInflater)getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.testone, null);
frameLayout .addView(view);
return frameLayout;
}

@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
frameLayout. removeAllViews();
LayoutInflater inflater = (LayoutInflater)getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.testone, null);
frameLayout .addView(view);
}

现在一切都会如你所愿!

关于android - 在 fragment 中使用 onConfigurationChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17116602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com