fragment复用:多个activity共用一个Fragment
来源:互联网 发布:语音聊天变声软件 编辑:程序博客网 时间:2024/05/22 06:42
问题一:Fragment如何封装成可复用的形式 ?
问题二:activity如何引用现成的fragment ?
1.先回答第一个问题:
直接上代码,代码是项目中的,没有另写demo,具体代码参见android版小晴打卡FaceSign :
MainTabRecord 继承了 Fragment:
static MainTabRecord newInstance(Map<String, Object> map) { MainTabRecord newFragment = new MainTabRecord(); final SerializableMap myMap=new SerializableMap(); myMap.setMap(map); Bundle bundle = new Bundle(); bundle.putSerializable("map", myMap); newFragment.setArguments(bundle); return newFragment;}@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Bundle bundle = getArguments(); SerializableMap serializableMap = (SerializableMap) bundle.get("map"); maplist =serializableMap.getMap();}public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { Log.i("Tag_20150504","MainTabRecord.java/onCreateView: "+"strName == "+strName + " strUserId == "+strUserId); View view = inflater.inflate(R.layout.main_tab_record, container, false); someoneRecord = (TextView) view.findViewById(R.id.someoneRecord); listView = (ExpandableListView) view.findViewById(R.id.expandableListView);
。。。。。
2. 回答第二个问题:如何把现成的fragment塞给新开的activity。
/*@function query other's history sign in and sign out records.use the MainTabRecord fragmen. */public class QueryOtherHistoryRecordActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_query_other_history_record); Bundle bundle = getIntent().getExtras(); String name = bundle.getString(Constants.NAME); String userid = bundle.getString(Constants.USERID); Map<String, Object> map = new HashMap<String, Object>(); map.put(Constants.NAME, name); map.put(Constants.USERID,userid); MainTabRecord fragment = MainTabRecord.newInstance(map); getSupportFragmentManager().beginTransaction().add(R.id.queryOtherRecord,fragment).commit(); }}
0 1
- fragment复用:多个activity共用一个Fragment
- 一个Activity管理多个Fragment切换
- Activity多个fragment切换
- 生成共用的一个Fragment
- 通过一个activity打开多个fragment,每个fragment包含一个List
- 共用fragment共用adapter
- Andriod Fragment---给Activity添加一个Fragment
- Andriod Fragment---给Activity添加一个Fragment
- Andriod Fragment---给Activity添加一个Fragment
- Andriod Fragment---给Activity添加一个Fragment
- 一个activity+4个fragment的简单框架的实现
- 多个Activity之间共用一个Socket实例
- Fragment activity
- Activity Fragment
- activity->fragment
- Android Activity中嵌套多个Fragment的使用
- Android Activity中嵌套多个Fragment的使用
- 多个fragment在同一个activity中显示
- Hive运行架构及配置部署
- 浩易南:线下手机销售维修店O2O思路
- Android Error 集合
- lucene升级至5.1版本出现 :IllegalStateException: IllegalStateException: unexpected docvalues type NONE"
- linux Sed 命令
- fragment复用:多个activity共用一个Fragment
- 一个form表单实现提交多个action
- prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin/arm-linux-androideabi-gcc问题解决
- 【MySQL之字段类型(一)】MySQL中char和varchar的区别,以及varchar最大长度是多少?
- flex读取xml
- redis 搭建主从
- uva 10603倒水问题(搜索 隐式图的最短路 )
- java协变函数
- 《淘宝技术这十年》读书笔记 (四). 分布式时代和中间件