Итак, я узнал о создании вкладок на Android с помощью FragmentActivity от THIS TUTORIAL. Итак, теперь у меня есть FragmentActivity, который содержит 3 вкладки, что означает, что в этих вкладках есть три разных фрагмента.Android: Использование SharedPreferences с макетом вкладок
класс FragmentActivity
public class ProductSingle_Activity extends FragmentActivity {
ViewPager Tab;
public TabPagerAdapter TabAdapter;
ActionBar actionBar;
Context ctx = this;
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.product_single);
.... and so on
И у меня есть два фрагмента, которые становятся двумя язычками FragmentActivity:
Один фрагмент:
public class details_frag_activity extends Fragment {
Context ctx;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View android = inflater.inflate(R.layout.details_frag, container, false);
}
}
Так что я сохранил некоторые информация, такая как «имя» и «описание» в SharedPreferenc es приложения.
SharedPreferences pref = ctx.getSharedPreferences("product_details", 0);
//ctx being the context
Editor editor = pref.edit();
editor.putString("pname", name);
editor.commit();
Я хочу, чтобы получить доступ к этим информации через один из фрагментов, как это:
public class details_frag_activity extends Fragment {
Context ctx;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View android = inflater.inflate(R.layout.details_frag, container, false);
SharedPreferences pref = ctx.getSharedPreferences("product_details", 0);
//I cant access the ctx (Context). To avoid the error I just declared a local variable. I need to get the context of the FragmentActivity
String pname = pref.getString("pname", null);
Однако я не могу получить доступ к «CTX» (Context) через фрагмент. Есть ли способ передать контекст FragmentActivity для классов фрагментов, чтобы они могли извлекать сохраненную информацию из SharedPreferences? ИЛИ есть ли лучший способ доступа к общей информации через Фрагменты (вкладки)?
- мой ответ разработан. –