繁体   English   中英

返回片段中的多个视图?

[英]Returning Multiple Views in Fragment?

我像往常一样通过Fragments Java文件扩展XML:

public class FragmentJava extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
    View rootView = inflater.inflate(R.layout.fragment_drive_layout, container, false);

然后当然

return rootView;}}

效果很好,但是,我也试图利用Syncfusion库在屏幕上获取量规,而这需要我设置setContentView() ,它无法与Fragments一起使用,因此我决定return该量规我正在这样构建:

//Create the gauge:

SfCircularGauge circularGauge = new SfCircularGauge(getActivity());
ArrayList<CircularScale> _circularScales = new ArrayList<CircularScale>();
CircularScale circularScale = new CircularScale();

// etc. etc., other settings...

circularGauge.setCircularScales(_circularScales);

然后我只返回圆规的以下实例:

return circularGauge;

代替

return rootView;

显然,这样做会丢失所有XML元素,而活动表上的标尺却留着,它是纯RelativeLayout背景色,而不是XML中所有令人惊奇的图形元素;(

我对Java不满意,但是有什么方法可以返回XML的rootView,然后返回XML的度量值?

我对Syncfusion不熟悉,但是您应该能够在onCreate方法中的活动级别执行此调用。 将结果数组加载到活动的公共成员变量中。 然后,在片段的onCreateView(或片段中的任何位置)中,您都可以像这样访问它:

((MyCustomActivity)getActivity()).mCircularScales;

有两种方法可以解决此问题,这取决于使用情况。

  1. 如果您希望量规成为片段的一部分,您可以简单地将自定义库窗口小部件添加到xml或以编程方式添加到布局中。 这样,您的片段应该可以管理量规。
  2. 如果要在片段之间切换时使量规保持浮动,则可以将量规添加到您的根视图(在活动中),该根视图包含片段的容器(在xml中或以编程方式)。 这样,您的活动就可以管理量规。 如果您应该传递来自片段的数据,那么在活动中创建并由片段调用的某种“ setGaugesData”方法应该很方便。

祝好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM