先看效果图吧:


布局activity_main:

<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:orientation="horizontal">       <fragment        android:layout_width="wrap_content"       android:layout_height="match_parent"       android:id="@+id/frag1"       android:name="com.example.listfragmentapp.FirstFragment"/>     <FrameLayout         android:layout_width="0dp"        android:layout_height="match_parent"        android:layout_weight="2"        android:id="@+id/layout"        android:background="#ff5433">            </FrameLayout>       <FrameLayout         android:layout_width="0dp"        android:layout_height="match_parent"        android:layout_weight="2"        android:id="@+id/third"        android:background="#567812">    </FrameLayout></LinearLayout>

MainActivity什么东西都没写

FirstFragment:

package com.example.listfragmentapp;import android.app.Fragment;import android.app.FragmentManager;import android.app.FragmentTransaction;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.Button;public class FirstFragment extends Fragment{private FragmentManager fm; @Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubView view=inflater.inflate(R.layout.first_frag, container, false);Button btn=(Button) view.findViewById(R.id.btn);btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub//第一步:获取FragmentManger对象fm=getFragmentManager();//第二步:开启事务FragmentTransaction ft=fm.beginTransaction();//第三步:操作Fragment(添加,替换,删除)   //第三个参数标签名,起到标识作用SecondTest fragment=new SecondTest();ft.add(R.id.layout,fragment,"second");ft.addToBackStack("second");//第四步:提交事务ft.commit();}});return view;}}
SecondTest继承了ListFragment

package com.example.listfragmentapp;import android.app.FragmentManager;import android.app.FragmentTransaction;import android.app.ListFragment;import android.os.Bundle;import android.text.Editable.Factory;import android.view.View;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;public class SecondTest extends ListFragment{ThirdFragment fragment;TextView tv;private FragmentManager fm;@Overridepublic void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);View thirdFragment=getActivity().findViewById(R.layout.two_frag);fm=getFragmentManager();String[] data=new String[30];for(int i=0;i<20;i++)data[i]="hello"+i;ArrayAdapter<String>adapter=new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,data);setListAdapter(adapter);}@Overridepublic void onListItemClick(ListView l, View v, int position, long id) {// TODO Auto-generated method stubsuper.onListItemClick(l, v, position, id);Toast.makeText(getActivity(), "您选择了:"+l.getAdapter().getItem(position), 0).show();fm=getFragmentManager();FragmentTransaction ft = fm.beginTransaction();ThirdFragment frag=new ThirdFragment();Bundle bundle=new Bundle();String msg=(String) l.getAdapter().getItem(position);bundle.putString("111", msg);frag.setArguments(bundle);ft.replace(R.id.third,frag,"ddd");ft.addToBackStack("ddd");ft.commit();}}

ThirdFragment:

package com.example.listfragmentapp;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;public class ThirdFragment extends Fragment{private TextView tv;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubView view=inflater.inflate(R.layout.third_frag, container, false);tv=(TextView)view.findViewById(R.id.tv);Bundle bundle=getArguments();String msg=bundle.getString("111");tv.setText(msg);return view;}}
有想要源码的可以:
源码下载链接

更多相关文章

  1. 直播源码用Glide框架缓存压缩图片做一个网络图片查看器
  2. android使用Canvas画柱状图和饼图源码
  3. android中的贪吃蛇源码
  4. Android IntentService用法和源码分析
  5. [置顶] android Listview分批加载+自动加载(附源码下载)
  6. android上文件上传至tomcat服务器源码
  7. 地图引擎rmaps android 源码(rmaps source code)
  8. android 浏览普通彩信列表demo 核心源码
  9. Android Studio导入Android平台源码

随机推荐

  1. android电话拦截及短信过滤
  2. Android7.0中文文档(API)-- RemoteViews
  3. android单元测试
  4. Android(安卓)Support Library 23.2
  5. Android(安卓)面试题及答案(英文)
  6. android的ExpandableListView
  7. android FactoryReset
  8. i.MX android 2.3 R10.3.1 环境( at ubun
  9. SlidingLayout
  10. android > Android(安卓)音频均衡器,可通