在扩充XML文件之后,不会调用onCreate()
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在扩充XML文件之后,不会调用onCreate()相关的知识,希望对你有一定的参考价值。
我是android开发的新手,使用滑动视图创建项目有3个视图使用片段。在这个类中,我使用inflater来实例化3个视图。我试图从他们相应的活动文件编辑视图(有点像视图控制器如何在ios上工作),但我没有运气。我想知道是否有人可以指导我如何从每个相应的java文件控制我在PageFragment中生成的视图。
片段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;
}
}
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>
我正在尝试更改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");
}
}
简而言之,我希望textView上写着“你在第1页”,而不是从page1.java类中说出“Hello World”。任何朝着实现这一目标的正确方向提供的援助将不胜感激。
你的片段和活动都加载R.layout.activity_page1
。
您的活动需要加载包含ViewPager的其他XML。
并且PageFragment
不应该加载3种不同的布局。你可以使用每个3个片段中的一个布局,例如,使用if-else阻止FragmentPagerAdapter
的return new Page1Fragment()
类,然后从活动中使用viewPager.setAdapter()
。
你也可以使用其中一个Android Studio Activity templates to give you a Tabbed Activity Layout
以上是关于在扩充XML文件之后,不会调用onCreate()的主要内容,如果未能解决你的问题,请参考以下文章
在 onActivityResult 之前和之后调用 onCreate
在 ACTION_GET_CONTENT 意图之后有时不会调用 OnActivityResult