从 class 调用 LoaderManager 而不是 Activity

Call LoaderManager from class which is not Activity

我正在努力从 phone 获取联系人,为此,我使用 LoaderCallbacks<Cursor> 我创建了一个新的 class,名称为 FetchContacts 并实施loaderManager。现在我希望每当我创建 class loaderManager 的对象时自动初始化。
FetchContacts

  public class FetchContacts implements LoaderManager.LoaderCallbacks<Cursor> {
       private Context context;

     FetchContacts(Context ctx){
        context = ctx;
        getLoaderManager().initLoader(0, null, this); // Error: Undefined method
     }  
     // Reset of code like override methods.

主要Activity

     public class MainActivity extends AppCompatActivity {
        protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);
           FetchContacts fetchContacts = new FetchContacts(this);
       }
     }

我知道错误的原因,因为 FetchContacts 不是从 Activity class 扩展而来的。是否有必要从 Activity class 扩展它,或者是否有其他方法从 MainActivity 调用它?

如@Mike 所说,将 LoaderManager 作为参数传递。

FetchContacts

  public class FetchContacts implements LoaderManager.LoaderCallbacks<Cursor> {
       private Context context;

     FetchContacts(Context ctx, LoaderManager loaderManager){
        context = ctx;
        loaderManager.initLoader(0, null, this); 
     }  
     // Reset of code like override methods.

MainActivity

     public class MainActivity extends AppCompatActivity {
        protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);
           FetchContacts fetchContacts = new FetchContacts(this, getLoaderManager());
       }
     }