Fragment && Activity生命周期
来源:互联网 发布:中控考勤机数据修改 编辑:程序博客网 时间:2024/06/15 15:55
- 今天写程序遇到一个问题,先上代码
private void initData() { // TODO Auto-generated method stub mDatas = new ArrayList<Bean>(); SQLiteOpenHelper dbHelper = new DatabaseHelper(getActivity(), "friends.db", null, 1); SQLiteDatabase db = dbHelper.getWritableDatabase(); // db.execSQL("delete from festival where festival='阿斯顿'"); Cursor cursor = db.rawQuery("select * from festival", null); while (cursor.moveToNext()) { String fes = cursor.getString(1); String dat = cursor.getString(2); //获取系统时间并组成字符串 final Calendar ca1 = Calendar.getInstance(); nYear = ca1.get(Calendar.YEAR); nMonth = ca1.get(Calendar.MONTH); nDay = ca1.get(Calendar.DAY_OF_MONTH); Snyear = String.valueOf(nYear); SnMonth = String.valueOf(nMonth + 1); Sndays = String.valueOf(nDay); if (nMonth >= 0 && nMonth <= 9) { j = Snyear + "0" + SnMonth + Sndays; } else { j = Snyear + SnMonth + Sndays; } String i = getDateCount(dat, j); Bean bean = new Bean(fes, dat, i); mDatas.add(bean); } adapter = new MyAdapter(getActivity(), mDatas, R.layout.timeline_item); listview.setAdapter(adapter); }
- 将获取的时间和日期名称以及天数差放置于mDatas中,然后通过Cursor一组组取出来放置于listview中
- 但是,有个问题。我在另一个activity中获取输入的数据insert进SQLite,但是在initData()中不会实时更新,因为它是先读取的listview再通过添加数据操作存入SQLite,所以并不会自动更新listview。
//将获取到的数据添加到数据库 SQLiteOpenHelper dbHelper = new DatabaseHelper(this, "friends.db", null, 1); SQLiteDatabase db=dbHelper.getWritableDatabase(); final ContentValues values = new ContentValues(); String fes = dateTitle.getText().toString(); values.put("festival",fes); values.put("time",i); db.insert("festival",null,values);
- adapter.notifyDataSetChanged();我试了,但是它放在initData()中不会更新,因为我是往数据库中加,不是往mDatas中加,所以这个方法不成立
例如这样放置的话就可以动态添加
-// Button button = (Button) view.findViewById(R.id.button);-// button.setOnClickListener(new View.OnClickListener() {-// @Override-// public void onClick(View v) {-// Bean bean=new Bean("圣诞节", "2015-08-05", "1513");-// mDatas.add(bean);-// adapter.notifyDataSetChanged();-// }-// });
- 所以我想啊,那么就重新加载 Activity,因为fragment是在activity中的,所以结束activity生命周期再重新Onstart它,那样重新加载listview不就能起到一个刷新的效果了嘛
- 因此
//点击保存finish当前activity,跳转到bottom这个activity,在bottom跳转到这个页面时已经结束生命周期,所以这个跳转就是重新加载 Intent intent = new Intent(this,bottom.class); startActivity(intent); finish(); //finish的作用是结束当前生命周期
阅读全文
0 0
- [完整版]Activity生命周期、Fragment生命周期
- fragment生命周期与Activity生命周期
- activity和fragment生命周期
- Activity与Fragment生命周期
- Fragment和Activity生命周期
- Activity和Fragment生命周期
- Android Activity Fragment 生命周期
- Fragment与Activity生命周期
- Fragment与Activity生命周期
- Activity、Fragment 生命周期
- Activity和Fragment生命周期
- Activity,Fragment,Service生命周期
- Activity Fragment 生命周期
- Fragment与Activity生命周期
- activity和fragment生命周期
- Activity Fragment完整生命周期
- activity fragment 生命周期
- activity、fragment生命周期流程图
- suse系统解决ssh登录慢的办法
- Win7风格的MFC
- 算法系列——Reverse Linked List
- WooCommerce——修改“Related Products“文字
- 解读Secondary NameNode的功能
- Fragment && Activity生命周期
- java初学者的浅谈(4)
- hihoCoder1080-更为复杂的买卖房屋姿势
- 异步加载在的js 在开发者工具中加载不出来
- JVM内存区域异常实战
- 智能指针的交叉引用问题及解决方法
- 第九周 leetcode 72. Edit Distance(Hard)
- UVa 10891(记忆化搜索,递推)Game of Sum
- 机器学习中的判别式模型及生成式模型