在扩充XML文件之后,不会调用onCreate()

时间:2018-01-05 04:51:33

标签: java android android-fragments android-viewpager

我是Android开发新手,使用滑动视图创建项目时,使用片段有3个视图。在这个类中,我使用inflater来实例化3个视图。我试图从他们相应的活动文件编辑视图(有点像视图控制器如何在IOS上工作),但我没有运气。我想知道是否有人可以指导我如何从每个相应的java文件控制我在PageFragment中生成的视图。

Fragment Java code ::

public class PageFragment extends Fragment {
TextView textView;
private int pageCounter;


public PageFragment(Integer pageCount){
    this.pageCounter = pageCount;
}
public PageFragment(){

}

@Override public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
   if(pageCounter == 1){
       View view = inflater.inflate(R.layout.activity_page1,container,false);

       pageCounter++;
       return view;
   }else if(pageCounter == 2){
       View view = inflater.inflate(R.layout.activity_page2,container,false);
       Bundle bundle = getArguments();
       pageCounter++;
       return view;
   }else if(pageCounter == 3){
       View view = inflater.inflate(R.layout.activity_page3,container,false);

       pageCounter++;
       return view;
   }

    //this should never run

    View view = inflater.inflate(R.layout.page_fragment_layout,container,false);
    return view;
}
}

TextView的XML我试图更改文本:



<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/holo_blue_bright"
    tools:context="com.example.aryamirshafii.resumewriterexcelandroidversion.page3">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="168dp"
        android:text="you are on page 3" />

</android.support.constraint.ConstraintLayout>
&#13;
&#13;
&#13;

我想要更改的XML活动的Java文件

public class page1 extends AppCompatActivity {


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

    final dataManager myDataManager = new dataManager();
    setContentView(R.layout.activity_page1);
    TextView textView = (TextView) findViewById(R.id.textView1);

    final Context context = textView.getContext();
    textView.setText("Hello World");


}


}

The ScreenShot

简而言之,我希望textView显示&#34;你在第1页&#34;反而说'#34; Hello World&#34;来自page1.java类。任何朝着实现这一目标的正确方向提供的帮助都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

您的片段和活动都加载R.layout.activity_page1

您的活动需要加载包含ViewPager的其他XML。

并且PageFragment不应加载3种不同的布局。例如,您可以每3个片段使用一个布局,并使用if {else阻止FragmentPagerAdapter的{​​{1}}类,并使用活动中的return new Page1Fragment()

您也可以使用其中一个Android Studio Activity templates to give you a Tabbed Activity Layout