天天看点

android viewpager fragment传值,对于Activity如何向ViewPager中的Fragment传值

如果局限于传值,使用EventBus(百度可以得到)来进行传值就可以了,优点:简单易用,不像Activity向Fragment传值的方法那样繁琐,同时避免了Activity向ViewPager中的Fragment传值的各种报错(对于初学者而言)。但是,对于这种方法,就我个人而言,有点不太实用。然后请教我朋友,换了一个角度思考,其实如果我们想要用到Activity中的某些数据,比如学号信息,这时我们并不需要进行传值,将数据保存就可以了。这时我们可以用最简单的方法来进行保存:

//使用SharedPreferences保存数据

//1.获取SharedPreferences对象

SharedPreferences mSharedPreferences=getSharedPreferences("name",MainActivity.MODE_PRIVATE);

//2.获取SharedPreferences.Editor对象

SharedPreferences.Editor editor=mSharedPreferences.edit();

//3.使用putXXX方法保存键值对

editor.putString("sname",sname);

//4.将数据保存在文件中

editor.apply();

然后在Fragment类中进行获取就可以了。

//获取学号

SharedPreferences mSharedPreferences=getActivity().getSharedPreferences("name", Context.MODE_PRIVATE);

final String sname=mSharedPreferences.getString("sname","");

粗浅之见,如有更优,欢迎分享!!