zoukankan      html  css  js  c++  java
  • Android简单的将Activity改为Fragment

    开发android有时会遇到这样的问题,那就是需要将Activity改造成Fragment。本来Fragment是新的android版本上的东西,不过既然google这么亲切的提供了向下兼容的包。那么总会有这样的需要的时候,好在Activity到Fragment的转化并不复杂,因为本来就是相似的东西。最近就遇到了这的问题,于是来总结一下经验。

    从Activity到Fragment最大的变动在于,在Fragment里面的onCreate()函数内,是没有办法使用findViewById、setContentView这些函数的。因为Fragment本身并没有提供这些方法。于是我们只能通过onCreateView和onViewCreated来实现对显示的控制。

    @Override

     
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
      return inflater.inflate(R.layout.about_detail, container, false);
    }
     
    @Override
     
    public void onViewCreated(View view, Bundle savedInstanceState) {
      super.onViewCreated(view, savedInstanceState);
      version = (TextView) view.findViewById(R.id.version);
      loginfo = (TextView) view.findViewById(R.id.loginfo);
    }
     
    而一些Fragment没有提供的属于Activity的函数我们可以通过getActivity()得到作为parent的Activity来调用,因为Fragment只是作为片段提供给Activity使用的,所以很多功能的实现都被留在了Activity里面。不过无论如何,只要利用Eclipse自带的查错功能可以非常快速的完成这些操作。这种改动一般不会很复杂,只要把Fragment要做的事情交给作为parent的Activity处理就可以了。比如像Intent的处理就可以这样:
     
     

    Intent i = new Intent();
    i.setClass(getActivity().getApplicationContext(), NewActivity.class);
    startActivity(i);
    getActivity().finish();

     
    http://blog.ch-wind.com/android%E7%AE%80%E5%8D%95%E7%9A%84%E5%B0%86activity%E6%94%B9%E4%B8%BAfragment/
  • 相关阅读:
    linux网络管理之netstat命令
    linuxping命令
    linux网络管理-ip
    linux网络管理--网络配置及命令
    汇编基础整理
    windows编辑文本和unix编辑文本的回车符问题
    Zend Studio 8.0.1 新建远程项目无法展示远程项目列表的问题
    HTTPS 服务器搭建
    mysql中的JOIN用法总结
    tcpdump使用和TCP/IP包分析
  • 原文地址:https://www.cnblogs.com/cmblogs/p/4211514.html
Copyright © 2011-2022 走看看