لا يمكن استخدام طريقة "جيتسترينغ (إنت ريسيد)" في فراغمنتباجيرادابتر
-
20-12-2019 - |
سؤال
- لدي الفئة التالية في نشاط الجزء الخاص بي الآن أريد الحصول على اسم علامات التبويب من السلاسل.شمل ولكن لا أستطيع استخدام الطريقة
getString(int resId)
أنه يعطي رسالة خطأ"لا يمكن جعل إشارة ثابتة إلى طريقة جيتسترينغ غير ثابت(إنت) من سياق النوع". - في الطريقة
public CharSequence getPageTitle(int position)
أنا بحاجة للحصول على مثل هذاname = getString(R.string.mystring)
أي مساعدة هي موضع تقدير.
public static class AppSectionsPagerAdapter extends FragmentPagerAdapter { public AppSectionsPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int i) { switch (i) { case 0: Fragment fragment = new Activity1(); return fragment; case 1: Fragment fragment1 = new Activity2(); return fragment1; default: return new Activity2(); } } @Override public int getCount() { return 2; } public CharSequence getPageTitle(int position) { String name = null; if (position==0) { name = "Movie Details"; }else if (position==1) { name = "Movie Comments"; } return name; } }
المحلول
كنت في حاجة الى Context
الاعتراض على الاتصال getResources().getString(int resID)
.حاول تمرير Context
في المنشئ الخاص بك واستخدامه هنا مثل
Context mContext;
public AppSectionsPagerAdapter(FragmentManager fm,Context context) {
super(fm);
mContext = context
}
ثم استخدم mContext.getResources().getString(int resID)
نصائح أخرى
يمكنك فقط إزالة static
الكلمة الرئيسية من تعريف صفك إذا كانت فئة داخلية.
تحرير:لا تفعل هذا-انظر التعليق أدناه.
لا تنتمي إلى StackOverflow