Android中Activity加入Fragment使用注意事项及常用技巧

时间:2022-09-17 20:53:14
  • Fragment中AlertDialog弹出窗口的使用
Fragment默认不具有Content的一些方法和属性,因此在Activity中可以使用的一些方法在Fragment中使用就需要一些小技巧了
初始化AlertDialog窗口
AlertDialog.Builder askDialog = new AlertDialog.Builder(getActivity());
如上,在使用Content的地方使用getActivity()来获得Fragment所在Activity来初始化窗口
  • Fragment中Toast的使用
同上,使用Toast时第一个参数需要传入一个Cotnent才可以初始化,此时我们可以通过主Activity来实现,需要注意的是此处需要调用getAcitivity()下的getApplicationContext()
Toast.makeText(getActivity().getApplicationContext(), e.toString(), Toast.LENGTH_SHORT).show();
  • Fragment中SQLiteDatabase的使用
初始化 SQLiteDatabase db = null;
赋值 db = SQLiteDatabase.openOrCreateDatabase(strPath, null);
这里看似和Activity中使用没什么两样,可能是我自己的原因吧,就是引入命名空间后,我的习惯是不再加SQLiteDatabase.的,可是在Fragment中提示openOrCreateDatabase()找不到,最后加入命名空间问题就消失了
至于为什么还是有点不解,再就是参数的问题,我之前是使用三个参数的方法,发现第二个参数死活认不到,最后无奈改为两个参数的,同时第二个参数给了null才从数据库中读到数据