package com.example.tyxiong.myapplication;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.app.ListFragment;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import java.util.ArrayList;
/*
* Fragment 概述:
* 1.有自己的生命周期,可以接收自己的事件
* 2 必须嵌入到Activity中使用,
* 3 只有当所在的Activity处理于运行状态时,才可独立的操作Fragment
* 设计初衷是为了平板大屏.
*
* 四个特征:
* 1 Fragment可方法getActivity()获得其所在的Activity;Activity也可调用FragmentManager的findFragmentById()
* 方法获得其拥有的Fragment.
* 2 Activity可调用FragmentManager的add() replace() remove()方法动态的添加删除Fragment
* 3 一个Activity可嵌入多个Fragment; 同时一个Fragment也可被多个Activity复用
* 4 Fragment有自己的生命周期.
*
* Fragment常用有4个子类 DialogFragment ListFragment PreferenceFragment WebViewFragment
*
* 1 创建Fragment,同样需要继承Fragment或子类.
* 2实现方法 如onCreate()实例化Fragment回调,可初始化一些;
* onCreateView()Fragment绘制界面时回调,该方法必须返回一个View也是作为该Fragment的显示组件.
**
* 如ListFragment 则无需重写onCreateView()方法,设置Adapter提供列表项内容即可
*
添加Fragment:两种方式 xml java
xml: 把Fragment当成一个普通组件一样添加到Activity的布局文件中,<fragment子元素>主要属性name 全包名.
java方式:3步.
1创建Fragment子类实例.
2利用FragmentManager的add() replace()方法加入
3submit()
Activity--->Fragment传输数据(同样利用Bundle)
6步 1创建Fragment实例
2创建Bundle
3调用setArgument()设置参数.
4利用FragmentManager的add() replace()加入Fragment
5提交
6Fragment那边调用getArgument()取出数据.
Fragment--->Activity
方法:在Fragment定义时,定义一个内部接口;让Fragment的Activity来实现接口,这样Fragment可调用接口方法将数据传给Activity.
以下代码演示了 xml方式添加Fragment
<fragment
android:name="com.example.tyxiong.myapplication.FirstFragment"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/listfrag"
>
</fragment>
*/
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
class FirstFragment extends ListFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String[] data_list = {"第一列", "第二列", "第三列"};
setListAdapter(new ArrayAdapter<>(getActivity(), android.R.layout.simple_list_item_1, data_list));
}
}
xml方式添加Fragment及概述
最新推荐文章于 2024-04-25 23:48:43 发布