我是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;
我想要更改的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显示&#34;你在第1页&#34;反而说'#34; Hello World&#34;来自page1.java类。任何朝着实现这一目标的正确方向提供的帮助都将受到赞赏。
答案 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