Java 通过传递活动上下文在外部类中请求WindowFeature()

Java 通过传递活动上下文在外部类中请求WindowFeature(),java,android,Java,Android,我试图将大多数实用程序函数抽象化,因此我决定将它们分离到一个名为Utils.java的新类中(在Android应用程序包中) 但是,我很难将活动上下文传递给这个helper类,并在其(helper类的方法)中运行一些系统内容 我在主活动的onCreate中有这样的场景: Utils u = new Utils(this); u.makeFullscreen(); Utils.java: package mypackagenamehere; import android.content.Con

我试图将大多数实用程序函数抽象化,因此我决定将它们分离到一个名为Utils.java的新类中(在Android应用程序包中)

但是,我很难将活动上下文传递给这个helper类,并在其(helper类的方法)中运行一些系统内容

我在主活动的onCreate中有这样的场景:

Utils u = new Utils(this);
u.makeFullscreen();
Utils.java:

package mypackagenamehere;

import android.content.Context;
import android.view.Window;
import android.view.WindowManager;

public class Utils{
    Context context;

    // Constructor  
    public Utils(Context c) {
        context = c;
    }

    public void makeFullscreen(){
        context.requestWindowFeature(Window.FEATURE_NO_TITLE);
        context.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }

}
问题在于makeFullscreen()方法的内容。

试试这个

Utils u = new Utils(YourActivityName.this);
这样做更好

public stactic void makeFullscreen(Context context){
        context.requestWindowFeature(Window.FEATURE_NO_TITLE);
        context.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
然后直接打电话

Utils.makeFullscreen(YourActivityName.this);

但问题是,我计划在makeFullscreen之外加入其他方法。我需要能够只设置一次活动上下文,最好是在构造函数中,然后为我需要运行的每个方法调用相同的Utils类实例,而无需将上下文传递给每个方法。是的,由于此方法中存在错误,我仍然无法在Eclipse中运行应用程序。请确保在
setContentView
之前调用了
makeFullscreen
,因为这是必须的要求。因为您正在使用该方法调用
requestWindowFeature