xml方式添加Fragment及概述

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));

    }
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋葵好吃吗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值