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; } /** * fragmment和activity产生关联时候执行的函数 * @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>