创建Fragment
src>包>新建文件
import android.app.Fragment;
public class MyFragment extends Fragment//继承自Fragment
{
}
复写生命周期
右击>Source>Override/Implement Methods
将onAttach
、onCreate
、onCreateView
、onDestroy
、onDestroyView
、onDetach
、onPause
、onResume
、onStart
、onStop
可在其间添加
Log.i("info", 类名);
读取生命周期
修改清单配置
<uses-sdk
android:minSDKVersion="11"
/>
### 给Fragment添加界面
在layout中添加视图布局(my_fragment.xml)
#### 文字信息
```xml
<TextView
android:id="@+id/textView1"
android:layout_width="math_parent"
android:layout_height="wrap_content"
android:text="..."
/>
绘制布局
MyFragment.java
public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log.i("info", "onCreateView");
View v = inflater.inflate(R.layout.my_fragment,null);
return V;
activity_main.xml
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="match_parent"//定义宽高
android:orientation="vertical" //垂直布局
android:layout_height="wrap_content"
>
</LinearLayout>
MainActivity.java
public class MainActivity extends Activity
{
FragmentManager manager;
FragmentTransaction transaction;//管理Fragment
//初始化
manager = getFragmentManager();
transaction = manager.beginTransaction();
//在Activity中添加Fragment
transaction.add(R.id.linearLayout, new MyFragment());
transaction.commit();//提交数据
}
Fragment切换
activity_main.xml
添加一个按钮
<Button
android:onClick="doClick"
/>
MainActivity.java
public void doClick(View v)
{
transaction = manager.beginTransaction();
//在Activity中替换Fragment
transaction.replace(R.id.linearLayout, new MyFragment2());
transaction.commit();//提交数据
}
Fragment移除
activity_main.xml
添加一个按钮
<Button
android:onClick="doClick"
/>
MainActivity.java
Fragment myFragment2;
public void doClick(View v)
{
transaction = manager.beginTransaction();
//在Activity中替换Fragment
transaction.remove(myFragment2);//不可匿名实现,必须声明
transaction.commit();//提交数据
}