有没有办法在没有发送上下文的情况下访问主要上下文?在android上

时间:2017-08-21 02:26:53

标签: android

我创建了一个名为" CustomClass"的自定义类。

基本上,我们发送主要上下文

在MainActivity中,

CustomClass cClass = new CustomClass(this);

在CustomClass中,

public CustomClass(Context context){
  this.context = context;
}

但是,我不想在MainActivity中发送上下文。

只需在MainActivity中调用构造函数,

CustomClass cClass = new CustomClass();

然后CustomClass获得了MainActivity的Context。

有人知道怎么做吗?

喔! 我不想要这样的方式。比如写

android:name ="com.example.CustomClass"

在Manifest.xml中

2 个答案:

答案 0 :(得分:-1)

使您的应用成为BaseApplication 但是你必须制作一个get方法。

然后在其中添加MainActivity。并在CustomClass中使用它。

或者您可以使用Application Context而不是MainActivity。

取决于你将它用于什么。

答案 1 :(得分:-1)

在Application类中声明静态Context。喜欢这个

public class MyApp extends Application(){
   public static Context context;
   @Override
   public void onCreate(){
      super.onCreate();
      context = getApplicationContext();
   }
}

然后在您的应用中的任何位置使用它。 例如:

public CustomClass(){
  this.context = MyApp.context;
  //Or directly use MyApp.context when you need
}