如何将Merg2XML布局与java类结合起来?
大家好,我有两个XML布局和两个java类。我要把它们弄脏 在main.activity.java中,我通过以下方法调用它们:如何将Merg2XML布局与java类结合起来?,java,android,android-layout,android-activity,android-studio,Java,Android,Android Layout,Android Activity,Android Studio,大家好,我有两个XML布局和两个java类。我要把它们弄脏 在main.activity.java中,我通过以下方法调用它们: switch (position % 4) { case 0: return WebViewGoogle.newInstance(); case 1: return ScrollFragment.
switch (position % 4) {
case 0:
return WebViewGoogle.newInstance();
case 1:
return ScrollFragment.newInstance();
}
ScrollFragment.java:
public class ScrollFragment extends Fragment {
private ObservableScrollView mScrollView;
public static ScrollFragment newInstance() {
return new ScrollFragment();
}
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_scroll, container, false);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mScrollView = (ObservableScrollView) view.findViewById(R.id.scrollView);
MaterialViewPagerHelper.registerScrollView(getActivity(), mScrollView, null);
}
}
这也是WebViewGoogle.java
public class WebViewGoogle extends Fragment {
private ObservableWebView mWebView;
public static WebViewGoogle newInstance() {
return new WebViewGoogle();
}
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.webview_layout, container, false);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mWebView = (ObservableWebView) view.findViewById(R.id.webViewPars);
MaterialViewPagerHelper.preLoadInjectHeader(mWebView);
mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
MaterialViewPagerHelper.injectHeader(mWebView, true);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
mWebView.loadUrl("http://www.google.com");
MaterialViewPagerHelper.registerWebView(getActivity(), mWebView, null);
}
}
现在我有2个xml文件,其中包含以下内容:
fragment_scroll.xml:
<com.github.ksoichiro.android.observablescrollview.ObservableScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<include layout="@layout/material_view_pager_placeholder"/>
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/cardMarginVertical"
android:layout_marginLeft="@dimen/cardMarginHorizontal"
android:layout_marginRight="@dimen/cardMarginHorizontal"
android:layout_marginTop="@dimen/cardMarginVertical"
android:background="@android:color/white"
app:cardElevation="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="1000dp"
android:orientation="vertical">
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
</com.github.ksoichiro.android.observablescrollview.ObservableScrollView>
我认为这是真的,但是我如何为他们的java类做到这一点呢
步骤1:
我创建了一个新的java claaa:
newclass.java
步骤2
在main_活动中
我称之为:
case 3: return newclass.newInstance();
现在我在newlayout中有了2个ID:scrollView和webViewPars…现在我如何合并2个java类…?要合并XML布局,或者要将一个XML布局放在另一个XML布局中,您可以使用
标记,就像您在材料中使用的\u视图\u占位符一样。要合并XML布局,或者要将一个XML布局放在另一个XML布局中,您可以使用
标记,就像您在材质视图占位符中使用的一样。
<com.github.ksoichiro.android.observablescrollview.ObservableScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/material_view_pager_placeholder"/>
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="@dimen/cardMarginVertical"
android:layout_marginLeft="@dimen/cardMarginHorizontal"
android:layout_marginRight="@dimen/cardMarginHorizontal"
android:layout_marginTop="@dimen/cardMarginVertical"
android:background="@android:color/white"
app:cardElevation="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="1000dp"
android:orientation="vertical">
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="5dp"
android:paddingRight="5dp"
>
<com.github.ksoichiro.android.observablescrollview.ObservableWebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webViewPars"
android:background="@android:color/transparent"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
</com.github.ksoichiro.android.observablescrollview.ObservableScrollView>
case 3: return newclass.newInstance();