热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在Fragment中添加ListView

在Fragment中,几个主要生命周期的创建过程onCreate创造页面onCreateView创造ViewonStart开始三种获取LayoutInfla

 

在Fragment中,几个主要生命周期的创建过程

  onCreate 创造页面

  onCreateView 创造View

  onStart 开始

三种获取LayoutInflater的方式

  

 LayoutInflater inflater=LayoutInflater.from(getContext());
LayoutInflater inflater
=getLayoutInflater();
LayoutInflater localinflater
=
        (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

 

其中的onCreate负责创建Fragment的View,必须要进行重写

将页面的初始化放在onCreateView中

示例代码:

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState)
    {
        Log.d("TAG","onCreateView");
        //创建界面MsgFragment
        cOntentView=inflater.inflate(R.layout.fragment_msg,container,false);

        //界面的初始化
        myListAdapter=new MyListAdapter();
        ListView listView=(ListView)contentView.findViewById(R.id.id_listview_msgfragment);
        listView.setAdapter(myListAdapter);
        return contentView;

    }

 

重写方法onStart()

    @Override
    public void onStart() {
        Log.d("TAG","onStart");
        demo();
        super.onStart();
    }
    /////////////////////添加数据
    private void demo()
    {
        listData.add(new Con("日前,国家卫健委有关负责人表示,我国正采取多"));
        listData.add(new Con("日前,国家卫健委有关负责人表示,我国正采取多"));
        listData.add(new Con("日前,国家卫健委有关负责人表示,我国正采取多"));
        listData.add(new Con("日前,国家卫健委有关负责人表示,我国正采取多"));
        listData.add(new Con("日前,国家卫健委有关负责人表示,我国正采取多"));
    }

MsgFragment.java

  1 package com.example.senior0302_test2;
  2 
  3 
  4 import android.os.Bundle;
  5 import android.support.annotation.Nullable;
  6 import android.support.v4.app.Fragment;
  7 import android.util.Log;
  8 import android.view.LayoutInflater;
  9 import android.view.View;
 10 import android.view.ViewGroup;
 11 import android.widget.BaseAdapter;
 12 import android.widget.ListView;
 13 import android.widget.TextView;
 14 
 15 import java.util.ArrayList;
 16 
 17 
 18 /**
 19  * A simple {@link Fragment} subclass.
 20  */
 21 public class MsgFragment extends Fragment {
 22 
 23     ArrayListlistData=new ArrayList<>();
 24     MyListAdapter myListAdapter;
 25     View  contentView;
 26 
 27 
 28 
 29 
 30     public MsgFragment() {
 31 
 32     }
 33 
 34     @Override
 35     public void onStart() {
 36         Log.d("TAG","onStart");
 37         demo();
 38         super.onStart();
 39     }
 40     /////////////////////添加数据
 41     private void demo()
 42     {
 43         listData.add(new Con("日前,国家卫健委有关负责人表示,我国正采取多"));
 44         listData.add(new Con("日前,国家卫健委有关负责人表示,我国正采取多"));
 45         listData.add(new Con("日前,国家卫健委有关负责人表示,我国正采取多"));
 46         listData.add(new Con("日前,国家卫健委有关负责人表示,我国正采取多"));
 47         listData.add(new Con("日前,国家卫健委有关负责人表示,我国正采取多"));
 48     }
 49 
 50     @Override
 51     public void onCreate(@Nullable Bundle savedInstanceState) {
 52         Log.d("TAG","onCreate");
 53         super.onCreate(savedInstanceState);
 54     }
 55 
 56     @Override
 57     public View onCreateView(LayoutInflater inflater, ViewGroup container,
 58                              Bundle savedInstanceState)
 59     {
 60         Log.d("TAG","onCreateView");
 61         //创建界面MsgFragment
 62         cOntentView=inflater.inflate(R.layout.fragment_msg,container,false);
 63 
 64         //界面的初始化
 65         myListAdapter=new MyListAdapter();
 66         ListView listView=(ListView)contentView.findViewById(R.id.id_listview_msgfragment);
 67         listView.setAdapter(myListAdapter);
 68         return contentView;
 69 
 70     }
 71 
 72     /////////////////////该有的数据
 73     public class Con
 74     {
 75         public String content;
 76         public Con(String content)
 77         {
 78             this.cOntent=content;
 79         }
 80     }
 81 /////////////////////适配器
 82     public class MyListAdapter extends BaseAdapter
 83     {
 84 
 85         @Override
 86         public int getCount() {
 87             return listData.size();
 88         }
 89 
 90         @Override
 91         public Object getItem(int position) {
 92             return listData.get(position);
 93         }
 94 
 95         @Override
 96         public long getItemId(int position) {
 97             return position;
 98         }
 99 
100         @Override
101         public View getView(int position, View converView, ViewGroup parent) {
102 
103             if(cOnverView==null)
104             {
105                 cOnverView=getLayoutInflater().inflate(R.layout.layout_fragment_msg,parent,false);
106             }
107             Con c= (Con) getItem(position);
108             TextView textView=(TextView)converView.findViewById(R.id.id_textview_msgfragment);
109             textView.setText(c.content);
110 
111             return converView;
112         }
113     }
114 
115 }

 


推荐阅读
  • Android 中的布局方式之线性布局
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细介绍如何在 Apache 中设置虚拟主机,包括基本配置和高级设置,帮助用户更好地理解和使用虚拟主机功能。 ... [详细]
  • 在Android中实现黑客帝国风格的数字雨效果
    本文将详细介绍如何在Android平台上利用自定义View实现类似《黑客帝国》中的数字雨效果。通过实例代码,我们将探讨如何设置文字颜色、大小,以及如何控制数字下落的速度和间隔。 ... [详细]
  • 本文探讨了如何利用 Android 的 Movie 类来展示 GIF 动画,并详细介绍了调整 GIF 尺寸以适应不同布局的方法。同时,提供了相关的代码示例和注意事项。 ... [详细]
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • 本文探讨了互联网服务提供商(ISP)如何可能篡改或插入用户请求的数据流,并提供了有效的技术手段来防止此类劫持行为,确保网络环境的安全与纯净。 ... [详细]
  • 本文基于Java官方文档进行了适当修改,旨在介绍如何实现一个能够同时处理多个客户端请求的服务端程序。在前文中,我们探讨了单客户端访问的服务端实现,而本篇将深入讲解多客户端环境下的服务端设计与实现。 ... [详细]
  • 本文详细介绍了如何使用C#实现不同类型的系统服务账户(如Windows服务、计划任务和IIS应用池)的密码重置方法。 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • ArcBlock 发布 ABT 节点 1.0.31 版本更新
    2020年11月9日,ArcBlock 区块链基础平台发布了 ABT 节点开发平台的1.0.31版本更新,此次更新带来了多项功能增强与性能优化。 ... [详细]
  • D17:C#设计模式之十六观察者模式(Observer Pattern)【行为型】
    一、引言今天是2017年11月份的最后一天,也就是2017年11月30日,利用今天再写一个模式,争取下个月(也就是12月份& ... [详细]
  • 尽管在WPF中工作了一段时间,但在菜单控件的样式设置上遇到了一些基础问题,特别是关于如何正确配置前景色和背景色。 ... [详细]
  • 本文详细介绍了如何在最新版本的Xcode中重命名iOS项目,包括项目名称、应用名称及相关的文件夹和配置文件。通过本文,开发者可以轻松完成项目的重命名工作。 ... [详细]
author-avatar
跑不快的码
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有