android:Fragment基础应用之listFragment

本文介绍了Android中Fragment的基础应用,特别是ListFragment的使用。通过实例展示了如何在Activity的XML布局文件中添加Fragment,并提供了运行结果的展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Fragment类:

package com.example.administrator.myapplication;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.widget.ArrayAdapter;
/**
 * Created by Administrator on 2018/4/24.
 */
public class MyListFragment extends  ListFragment {
String data[]={};

    /**
     * 静态方法,初始化fragment对象,并且为fragment对象设置bundle参数
     * @param num
     * @return
     */
    public static MyListFragment instence(String num[])
    {
        MyListFragment list =new MyListFragment();//创建对象
        Bundle bundle=new Bundle();//创建Bundle对象,类似map
        bundle.putStringArray("data", num);//传值
        list.setArguments(bundle);
        return list;
    }

    /**
     * fragmmentactivity产生关联时候执行的函数
     * @param activity
     */
    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        Bundle bundle=getArguments();//获取fragment对象中bundle参数
       data= bundle.getStringArray("data");//初始化自己的数据源
        ArrayAdapter<String> adapter= new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,android.R.id.text1,data);
        //创建适配器
        setListAdapter(adapter);//为我们的宿主activity设置适配器
    }

}

Activity:

package com.example.administrator.myapplication;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.support.v4.app.ListFragment;
public class ListFragmentActivity extends ActionBarActivity {
    String data[] = {"上海", "北京", "南京"};//定义数据源

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_fragment);
    }

    /**
     * 按钮绑定的方法
     * @param view
     */
    public void listFragment(View view) {

        MyListFragment list=MyListFragment.instence(data);//创建fragment对象
        FragmentTransaction tran= getSupportFragmentManager().beginTransaction();//创建提交事务对象
        tran.add(R.id.layout,list);//添加
        tran.commit();//提交
    }
}

Activity的.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: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="com.example.administrator.myapplication.ListFragmentActivity"
    android:orientation="vertical"
    >
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="开启一个listFragment"
    android:onClick="listFragment"
    />
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:id="@+id/layout">

    </FrameLayout>

</LinearLayout>

运行结果:



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值