Java 应用程序中声明的方法不可访问

Java 应用程序中声明的方法不可访问,java,android,Java,Android,Manifest.xml: <application android:name="com.google.firebase.quickstart.database.App" android:label="@string/app_name" android:supportsRtl="true"> </application> Disc:为了简洁起见,省略了上面的其他方法您必须将其转换为您自己的应用程序类,因为Android

Manifest.xml:

<application
        android:name="com.google.firebase.quickstart.database.App"
        android:label="@string/app_name"
        android:supportsRtl="true">
</application>


Disc:为了简洁起见,省略了上面的其他方法

您必须将其转换为您自己的应用程序类,因为Android SDK方法不知道您将其子类化

public class App extends Application {
    protected List<Contact> main_contacts = null;
    public void setMainContacts(List<Contact> contacts) {
        main_contacts = contacts;
    }

@Override
public void onCreate() {
    super.onCreate();
    mInstance = this;
}

public List<Contact> getMainContacts() {
     return main_contacts ;
 }

 public static synchronized App getContext() {
    return mInstance;
 }
}
public class MainActivity {
    @Override
    public void onContactsFetched(List<Contact> contacts) {
        // Cast to your App
        ((App)getApplication()).setMainContacts(contacts);
    }
}
公共类活动{
@凌驾
已蚀刻公共无效联系人(列出联系人){
//向你的应用程序播放
((应用程序)getApplication()).setMainContacts(联系人);
}
}

您应该在活动中创建应用程序对象。之后,您可以访问应用程序类方法

@Override
    public void onContactsFetched(List<Contact> contacts) {
        // Cast to your App
        MyAppication myAppication=(MyAppication) getApplication();
        myAppication.setMainContacts(contacts);
    }
@覆盖
已蚀刻公共无效联系人(列出联系人){
//向你的应用程序播放
我的应用程序我的应用程序=(我的应用程序)getApplication();
MyApp.setMainContacts(联系人);
}

非常确定您应该强制转换getApplication()的返回对象,以便在Android.manifest文件中注册您的应用程序,并尝试将您的方法设置为静态。@StarterPack解决了这个问题works@StarterPack你能把它移到一个答案上来吗?这样我就可以接受了
App.getContext().yourMethod
public class MainActivity {
    @Override
    public void onContactsFetched(List<Contact> contacts) {
        // Cast to your App
        ((App)getApplication()).setMainContacts(contacts);
    }
}
@Override
    public void onContactsFetched(List<Contact> contacts) {
        // Cast to your App
        MyAppication myAppication=(MyAppication) getApplication();
        myAppication.setMainContacts(contacts);
    }