我像往常一样通过我的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()
,它不能使用片段,所以我&#39我刚刚决定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的指标?
答案 0 :(得分:0)
我不熟悉Syncfusion,但您应该可以在onCreate方法的活动级别上执行此调用。将生成的数组加载到活动的公共成员变量中。然后在你的片段的onCreateView(或片段中的任何地方),你可以像这样访问它:
((MyCustomActivity)getActivity()).mCircularScales;
答案 1 :(得分:0)
有两种方法可以解决这个问题,这取决于使用方法。