安卓作业—Fragment界面跳转
安卓作业利用Fragment实现界面跳转的功能,
1.xml布局代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
android:gravity="center"
tools:context="cn.edu.niit.fragment.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="220dp"
android:orientation="vertical"
android:layout_weight="1">
<Button
android:id="@+id/yf_btn1"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:text="Show Next Page"
android:layout_gravity="center_horizontal"
android:layout_marginTop="80dp"
android:onClick="onClick"/>
</LinearLayout>
<LinearLayout
android:id="@+id/yf_show"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
</LinearLayout>
</LinearLayout>
2.第一个fragment布局代码
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="cn.edu.niit.fragment1.MainActivity">
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.wdh.fragmentwork.FirstFragment">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="This is first fragment!"/>
</FrameLayout>
</FragmentLayout>
第二个fragment布局代码
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="cn.edu.niit.fragment2.MainActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="This is second fragment!"
android:textSize="25sp" />
</FrameLayout>
![](https://images2015.cnblogs.com/blog/1126987/201704/1126987-20170418192150477-528967848.png)
主界面代码如下:public class MainActivity {
YiFragment yiFragment;
ErFragment erFragment;
FragmentTransaction transaction;
private Button btshow;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
yiFragment = new YiFragment();
erFragment = new ErFragment();
btshow = (Button) findViewById(R.id.btnshow);
FragmentManager manager = getFragmentManager();
transaction = manager.beginTransaction();
yiFragment.setContent("diyigefragment");//修改yiFragment的标题
transaction.add(R.id.show, yiFragment);
transaction.commit();//实现Fragment的运行
btshow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (btshow.isClickable()) {
FragmentManager manager = getFragmentManager();
transaction = manager.beginTransaction();
yiFragment = new BiaotiFragment();
yiFragment.setContent("diergefragment");
transaction.replace(R.id.show, yiFragment);
transaction.commit();
}
btshow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (btshow.isClickable()) {
FragmentManager manager = getFragmentManager();
transaction = manager.beginTransaction();
contentFragment.setContent("zheshidiergefragment");
transaction.replace(R.id.txtshow2, contentFragment);
transaction.commit();
}
}
});
}
});
}
问题:如何灵活运用fragment的动态实现和静态实现,跳转界面时也出现了问题。