效果图:

代码如下:

1、main.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="horizontal" >
  6.  
  7. <fragment
  8. android:id="@+id/title"
  9. class="com.njupt.fragment1.TitleFragment"
  10. android:layout_width="0dp"
  11. android:layout_height="fill_parent"
  12. android:layout_weight="1"
  13. />
  14.  
  15. <FrameLayout
  16. android:id="@+id/detail"
  17. android:layout_width="0dp"
  18. android:layout_height="fill_parent"
  19. android:layout_weight="1"
  20. />
  21.  
  22. </LinearLayout>

2、TitleFragment

  1. package com.njupt.fragment1;
  2.  
  3. import android.app.FragmentManager;
  4. import android.app.FragmentTransaction;
  5. import android.app.ListFragment;
  6. import android.os.Bundle;
  7. import android.view.View;
  8. import android.widget.ArrayAdapter;
  9. import android.widget.ListView;
  10.  
  11. public class TitleFragment extends ListFragment {
  12.  
  13. private String[] data = new String[]{
  14. "星期一",
  15. "星期二",
  16. "星期三",
  17. "星期四",
  18. "星期五",
  19. "星期六",
  20. "星期天"
  21. };
  22. private int currentPosition = 0;
  23.  
  24. @Override
  25. public void onActivityCreated(Bundle savedInstanceState) {
  26. super.onActivityCreated(savedInstanceState);
  27.  
  28. setListAdapter(new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_activated_1,android.R.id.text1,data));
  29. showDetail(currentPosition);
  30. }
  31.  
  32. public void showDetail(int index){
  33. FragmentManager fm = getFragmentManager();
  34. DetailFragment detail = (DetailFragment) fm.findFragmentById(R.id.detail);
  35. if(detail == null || index != detail.getShowIndex()){
  36. getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
  37. getListView().setItemChecked(index, true);
  38. detail = DetailFragment.getInstance(index);
  39.  
  40. FragmentTransaction ft = fm.beginTransaction();
  41. ft.replace(R.id.detail, detail);
  42. ft.commit();
  43. }
  44.  
  45. }
  46.  
  47. @Override
  48. public void onListItemClick(ListView l, View v, int position, long id) {
  49. super.onListItemClick(l, v, position, id);
  50.  
  51. showDetail(position);
  52. }
  53.  
  54. }

3、DetailFragment

  1. package com.njupt.fragment1;
  2.  
  3. import android.app.Fragment;
  4. import android.os.Bundle;
  5. import android.view.LayoutInflater;
  6. import android.view.View;
  7. import android.view.ViewGroup;
  8. import android.widget.TextView;
  9.  
  10. public class DetailFragment extends Fragment {
  11.  
  12. private String[] data = new String[]{
  13. "星期一",
  14. "星期二",
  15. "星期三",
  16. "星期四",
  17. "星期五",
  18. "星期六",
  19. "星期天",
  20. };
  21.  
  22. public static DetailFragment getInstance(int index){
  23. DetailFragment df = new DetailFragment();
  24. Bundle args = new Bundle();
  25. args.putInt("index", index);
  26. df.setArguments(args);
  27. return df;
  28. }
  29.  
  30. public int getShowIndex(){
  31. return getArguments().getInt("index");
  32. }
  33.  
  34. @Override
  35. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  36. Bundle savedInstanceState) {
  37. TextView tv = new TextView(getActivity());
  38. tv.setText(data[getShowIndex()]);
  39. return tv;
  40. }
  41.  
  42. }

fragment的入门DEMO的更多相关文章

  1. 【SSH系列】初识spring+入门demo

    学习过了hibernate,也就是冬天,经过一个冬天的冬眠,当春风吹绿大地,万物复苏,我们迎来了spring,在前面的一系列博文中,小编介绍hibernate的相关知识,接下来的博文中,小编将继续介绍 ...

  2. 基于springboot构建dubbo的入门demo

    之前记录了构建dubbo入门demo所需的环境以及基于普通maven项目构建dubbo的入门案例,今天记录在这些的基础上基于springboot来构建dubbo的入门demo:众所周知,springb ...

  3. apollo入门demo实战(二)

    1. apollo入门demo实战(二) 1.1. 下载demo 从下列地址下载官方脚本和官方代码 https://github.com/nobodyiam/apollo-build-scripts ...

  4. lua入门demo(HelloWorld+redis读取)

    1. lua入门demo 1.1. 入门之Hello World!! 由于我习惯用docker安装各种软件,这次的lua脚本也是运行在docker容器上 openresty是nginx+lua的各种模 ...

  5. netty入门demo(一)

    目录 前言 正文 代码部分 服务端 客服端 测试结果一: 解决粘包,拆包的问题 总结 前言 最近做一个项目: 大概需求: 多个温度传感器不断向java服务发送温度数据,该传感器采用socket发送数据 ...

  6. canal入门Demo

    关于canal具体的原理,以及应用场景,可以参考开发文档:https://github.com/alibaba/canal 下面给出canal的入门Demo (一)部署canal服务器 可以参考官方文 ...

  7. C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序

    C#中缓存的使用   缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可:  <%@ Outp ...

  8. SpringBoot 入门 Demo

    SpringBoot   入门 Demo Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从 ...

  9. ReactJs 入门DEMO(转自别人)

    附件是分享的一些他人的ReactJs入门DEMO,以前版本使用的是JSXTransformer.js,新版的用browser.min.js替代了. DEMO 下载地址:http://files.cnb ...

随机推荐

  1. 【Cocos2d-X开发学习笔记】第19期:动作管理类(CCActionManager)的使用

    本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一.动作管理类 动作管理类CCActionMan ...

  2. JavaScript学习笔记:检测数组方法

    检查数组的方法 很多时候我们需要对JavaScript中数据类型(Function.String.Number.Undefined.Boolean和Object)做判断.在JavaScript中提供了 ...

  3. samba错误

    1.session setup failed: NT_STATUS_LOGON_FAILURE 该错误表示用户有误, 可能是用户不存在, 也有可能是密码错误, 或者用户只是在samba和系统的用户中的 ...

  4. PowerDesigner使用常见问题

    1.在数据库生成表的时候,要求PowerDesigner中设计的表的Name的值要放到数据库中表的描述中,而不是PowerDesigner 中字段的Comment: 具体方法如下:首先将PowerDe ...

  5. IOS 创建App的最佳捷径

    简网App工场   ----------------创建App的最佳捷径

  6. CDialog类中OnCancel()、OnInitDialog()作用

    1.void CCOMDDlg::OnCancel() { // TODO: Add extra cleanup here CDialog::OnCancel();} 如果把CDialog::OnCa ...

  7. Convert.ToInt32()和int.Parse()的区别

    (1)Convert.ToInt32(null)会返回0而不会报异常,但int.Parse(null)则会产生异常 (2)Convert.ToInt32("")和int.Parse ...

  8. 编写优秀jQuery插件的10个技巧

    前言:在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就可以 copy & paste 大部分的代码结构,只要专注最主要的逻辑代码就行 ...

  9. mac qq截图功能失效后,如何重启截图功能?

    在finder中打开应用程序目录,找到QQ,右键单击QQ,选择显示包内容,此时会打开一个文件夹. 进入以下路径Library/LoginItems然后双击ScreenCapture这个进程,截图功能即 ...

  10. linux服务器wget无法成功解析域名及程序获取外网数据不稳定问题

    1.问题描述: 1.1 最近发现通过linux服务器wget下载远程文件经常提示无法解析域名问题,要重复多次才能成功,成功率比较低. 1.2 PHP用file_get_contents()函数获取淘宝 ...