在使用fragment的时候,先创建了一个fragment,然后为他创建布局,并在oncreateview中返回载入该视图的后返回的view,在activity的布局文件里,使用xml布局,用fragment的name标签直接引用这个fragment,然后居然爆出来该类不是fragment的错误,表示非常不理解,然后把原来fragment换成android.app.fragment就没有这些问题,于是问题也就慢慢的浮出水面,xml中载入的fragment是使用的android.app.fragm…
Fragments API: https://developer.android.com/guide/components/fragments.html 第一次使用Fragment遇到一个问题就是: Trying to instantiate a class xxx that is not a Fragment) 问题来由: Fragment是Android3.0(API Level 11)才开始引入的,之前的API不能直接使用android.app.Fragment. 就出现了兼容低版本的放在…
转载自刘明渊 的博客地址:http://blog.csdn.net/vanpersie_9987 Fragment 是 Android API 中的一个类,它代表Activity中的一部分界面:您可以在一个 Activity 界面中使用多个 Fragment,或者在多个 Activity 中重用某一个 Fragment. 本文将介绍 Fragment 的 定义.创建.添加.移除.生命周期 等,如需访问官方原文,您可以点击这个链接(大多数情况下你得借助某些工具才可以访问): https://dev…
Fragment在Android3.0开始提供,并且在兼容包中也提供了Fragment特性的支持.Fragment的推出让我们编写和管理用户界面更快捷更方便了.   但当我们实例化自定义Fragment时,为什么官方推荐Fragment.setArguments(Bundle bundle)这种方式来传递参数,而不推荐通过构造方法直接来传递参数呢?为了弄清这个问题,我们可以做一个测试,分别测试下这两种方式的不同   首先,我们来测试下通过构造方法传递参数的情况 public class Fram…
转载自刘明渊 的博客地址:http://blog.csdn.net/vanpersie_9987 Fragment 是 Android API 中的一个类,它代表Activity中的一部分界面:您可以在一个 Activity 界面中使用多个 Fragment,或者在多个 Activity 中重用某一个 Fragment. 本文将介绍 Fragment 的 定义.创建.添加.移除.生命周期 等,如需访问官方原文,您可以点击这个链接(大多数情况下你得借助某些工具才可以访问): https://dev…
Fragment在Android3.0開始提供,而且在兼容包中也提供了Fragment特性的支持. Fragment的推出让我们编写和管理用户界面更快捷更方便了. 但当我们实例化自己定义Fragment时,为什么官方推荐Fragment.setArguments(Bundle bundle)这样的方式来传递參数,而不推荐通过构造方法直接来传递參数呢?为了弄清这个问题,我们能够做一个測试.分别測试下这两种方式的不同 首先.我们来測试下通过构造方法传递參数的情况 public class Frame…
先说结论: 1. 当需要给Fragment传值时,使用newInstance()方式来实例化一个Fragment,能够更好的将该Fragment使用的参数捆绑起来,不必每次实例化时都写下面的代码: Bundle args = new Bundle(); 2. 由于是在工厂方法内部封装了传参的方法,所以传入的参数将会得到保留,即使Fragment旋转重建也能够重新获取到这些传入参数. Android日常研发中不可避免的肯定要用到Fragment,你如何使用的呢?Compare the two me…
在我们平常开发中经常会用到Fragment,当我们使用Fragment时一般是通过new Fragment的构造方法来实现,如果我问你怎么向一个Fragment传递参数,你是不是会首先想到通过构造方法,当面试被问到这个问题的时候我也是这么想的,后来发现自己错了,现在给大家讲一下究竟该怎么做. 首先我们看构造方法这种方式为什么不行,根据Android文档说明,当一个fragment重新创建的时候,系统会再次调用 Fragment中的默认构造函数. 注意这里:是 默认构造函数. 这句话更直白的意思就…
日前在项目代码里遇到偷懒使用重写Fragment带参构造方法来传参的做法,顿生好奇,继承android.support.v4.app.Fragment而又不写无参构造方法不是会出现lint错误编译不通过的咩?仔细追究,原来是这货被加了@SuppressLint("ValidFragment")从而屏蔽了错误.(个人非常不建议使用SuppressLint来屏蔽错误,尽管编译阶段通过了,运行时错误却越加恐怖!) 废话不多说,我们回归正题来看为什么Fragment必须要使用无参的构造方法.为…
官方推荐 ViewPager与Fragment一起使用,可以更加方便的管理每个Page的生命周期,这里有标准的适配器实现用于ViewPager和Fragment,涵盖最常见的用例.FragmentPagerAdapter和FragmentStatePagerAdapter这两个类都有简单的代码显示如何构建一个完整的用户界面与他们.   适配器类: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28…
在上一篇博文中对Fragment做了简单的介绍,现在再来探讨一下Fragment的生命周期. 一.Fragment的几种状态: 与Activity类似,Fragment也有一下几种状态: · 活动状态:当前Fragment位于前台,可见,可获得焦点. · 暂停状态:其他Activity位于前台,该Fragment可见,不可获得焦点. · 停止状态:不可见,失去焦点. · 销毁状态:该Fragment被完全删除或被结束. 二.Fragment的回调方法: 在Fragment的生命周期中,有一下方法…
Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式 Fragment FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction beginTransaction = fragmentManager.beginTransaction(); 事务 add(),remove(),replace(),commit() My…
我们都知道给一个activity动态添加fragment的时候 有下面几种添加方式 看一下布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_h…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 目录 目录生命周期标准的生命周期与事务相关的生命周期为什么 add 之前需要判断是否为null测试事务相关的生命周期的案例FragmentTransaction全部方法几个常用API的区别添加移除显示隐藏方法addremovereplaceshow 和 hideattach 和 detac…
一.概述 Fragment(碎片,片段)是在Android 3.0后才引入的,基本的目的是为了实如今大屏幕设备上的更加动态更加灵活的UI设计. 这是由于平板电脑的屏幕比手机大得多,所以屏幕上能够放很多其它的组件,而不是简单地仅仅是把手机上的组件放大.所以Fragment在应用中的是一个可重用的模块化组件,它有自己的布局.自己的生命周期,在一个Activity中能够包括多个Fragment. 二.在Activity中载入Fragment Fragment的载入方式包括两种:静态载入和动态载入.静态…
开发环境:win7,Android Studio 1.2, 1.Model Crime,数据模型,每个Crime有一个UUID作为唯一标识. package tina.criminalintent; import java.util.Date; import java.util.UUID; /** * Created by CW3479 on 2015/7/13. */ public class Crime { private UUID mId; private String mTitle; p…
A Fragment represents a behavior or a portion of user interface in an Activity. 在一个Activity活动中,一个Fragment代表一个行为或者用户界面的一部分 You can combine multiple fragments in a single activity to build a multi-pane UI and reuse a fragment in multiple activities. 你可…
http://developer.android.com/guide/components/fragments.html#Design Content Design Philosophy Creating a Fragment Adding a user interface Adding a fragment to an activity Adding a fragment without a UI Managing Fragments Performing Fragment Transacti…
A list of the standard attributes that you can use in themes can be found at R.styleable.Theme. Constants AbsListView_cacheColorHint Indicates that this list will always be drawn on top of solid, single-color opaque background. AbsListView_choiceMode…
本文涉及的源码版本如下: com.android.support:appcompat-v7:27.1.1 android.arch.lifecycle:extensions:1.1.1 android.arch.lifecycle:viewmodel:1.1.1 android.arch.lifecycle:livedata:1.1.1 什么是ViewModel, 以及工作原理 ViewModel用于存储和管理UI相关的数据,ViewModel有自己生命周期,会根据fragment,activi…
效果图: 布局: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_par…
1.AndroidAnnotations官网: http://androidannotations.org/ (也许你需要FQ) 2.eclipse中使用androidannotations的配置方法说明:https://github.com/excilys/androidannotations/wiki/Eclipse-Project-Configuration 3.Android Studio中配置AndroidAnnotations:(这个是我这篇博文中要涉及到的!) 一.Android…
1.Fragment的生命周期: 简单在新建一个MyFragment继承自Fragment,重写各个生命周期回调方法,各个方法中直接输出标识相关函数被调用的信息. 重写MainActivity的各个生命周期回调方法,同样输出标识信息. MyFragment.java: public class MyFragment extends Fragment { @Override public void onActivityCreated(Bundle savedInstanceState) { //…
登录界面:支持登录.注册以及游客登录,单纯的小账本的话其实用不到这些个登录,单纯为了巩固学习知识. 尚未部署到服务器,账号等数据暂时保存在本地数据库中. 游客登陆:游客登录会直接跳到主页中,不影响使用. 注册和登录时会弹出自定义view的dialog,这时可能会有黑影,这个和默认的主题有关.参考我的这篇博客:https://www.cnblogs.com/XiaoGao128/p/12283918.html 注册:注册时会判断数据库中是否存在此账号,注册完成后直接跳转到主界面. 登录有记住密码和…
1.创建侧滑菜单Fragment package com.example.didida_corder; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import android…
I recently came across an interesting question on StackOverflow regarding Fragment instantiation: What is the difference between new MyFragment() and MyFragment.newInstance()? Should I prefer one over the other? Good question. The answer, as the titl…
Fragment概述 在Fragment出现之前,Activity是app中界面的基本组成单位,值得一提的是,作为四大组件之一,它是需要"注册"的.组件的特性使得一个Activity可以在整个app甚至是不同app间被复用. 随着android 3.0中安卓平板的新增,app对不同尺寸屏幕的适配需求更加突出,Fragment大概也因为这样的需要被引入.虽然可以为Activity动态指定不同的layout,但也仅仅是解决一些简单的适配.像手机和平板这样的显著不同的尺寸下,是需要完全不同的…
本人很懒,直接上代码了. 布局文件: <?xml version="1.0" encoding="utf-8"?><android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-…
1. Fragment 使用时要有一个无参构造函数 如果没有无参构造函数,而是像按照普通类来使用,只创建有参构造函数,则会出现 android.support.v4.app.Fragment$InstantiationException 错误. 原因:Fragment 和 Activity 都是生命周期的组件,不能看做一般的类.如果非要使用有参构造函数,可能在使用的时候第一次传参没有问题,但是大概率在后面使用的时候出现问题.因为Fragment的什么周期依附在Activity中,如果Activi…
1,首先file -> new -> Activity -> Tabbed Activity 2,创建完成后,发现会自动的创建一大堆代码,大部分我们是不需要关心的,关于页面切换的代码位置: 在中间偏下的位置有这样一个类: 这个getItem就是我们进行页面切换操作的位置: public class SectionsPagerAdapter extends FragmentPagerAdapter { public SectionsPagerAdapter(FragmentManager…