لا يمكن استخدام طريقة "جيتسترينغ (إنت ريسيد)" في فراغمنتباجيرادابتر

StackOverflow https://stackoverflow.com//questions/20006736

سؤال

  1. لدي الفئة التالية في نشاط الجزء الخاص بي الآن أريد الحصول على اسم علامات التبويب من السلاسل.شمل ولكن لا أستطيع استخدام الطريقة getString(int resId) أنه يعطي رسالة خطأ"لا يمكن جعل إشارة ثابتة إلى طريقة جيتسترينغ غير ثابت(إنت) من سياق النوع".
  2. في الطريقة 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 الكلمة الرئيسية من تعريف صفك إذا كانت فئة داخلية.

تحرير:لا تفعل هذا-انظر التعليق أدناه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top