简体   繁体   English

膨胀XML文件后未调用onCreate()

[英]onCreate() is not getting called after inflating XML File

I am new to Android development and am creating a project with a swipe view has 3 views using fragments. 我是Android开发的新手,正在创建一个带有片段视图的滑动视图项目,其中包含3个视图。 In this class I use an inflater to instantiate the 3 views. 在本课中,我使用充气器实例化3个视图。 I am trying to edit the views from their corresponding activity files(kind of like how a viewcontroller works on IOS) but am having no luck. 我正在尝试从其相应的活动文件中编辑视图(类似于ViewController在IOS上的工作方式),但是没有运气。 I was wondering if anyone could guide me on how to control the views I am generating in PageFragment from each corresponding java file. 我想知道是否有人可以指导我如何控制每个相应的Java文件在PageFragment中生成的视图。

The Fragment Java code:: 片段Java代码::

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;
}
}

The XML for the TextView I am trying to change the text for: 我正在尝试为以下文本更改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> 

The Java File for the XML Activity I am trying to change 我要更改的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");


}


}

屏幕截图

In short, I want the textView that says "you are on page 1" to instead say "Hello World" from the page1.java class. 简而言之,我希望显示“您在第1页上”的textView代替page1.java类中的“ Hello World”。 Any assistance in the right direction towards achieving this would be appreciated. 在实现这一目标的正确方向上提供的任何帮助将不胜感激。

Your Fragment and Activity are both loading R.layout.activity_page1 . 您的Fragment和Activity都在加载R.layout.activity_page1

Your Activity needs to load a different XML that contains a ViewPager. 您的活动需要加载另一个包含ViewPager的XML。

And PageFragment should not load 3 different layouts. 而且PageFragment不应加载3种不同的布局。 You can use one layout per 3 Fragments each, and a FragmentPagerAdapter class with that if-else block to return new Page1Fragment() , for example, and you use viewPager.setAdapter() with it from the Activity. 例如,您可以每3个Fragment使用一个布局,并使用带有if-else块的FragmentPagerAdapter类来return new Page1Fragment() ,然后在Activity中对其使用viewPager.setAdapter()

You can also probably use one of the Android Studio Activity templates to give you a Tabbed Activity Layout 您可能还可以使用Android Studio活动模板之一为您提供选项卡式活动布局

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

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