Android findViewById方法未解决///TextView问题

Android findViewById方法未解决///TextView问题,android,class,textview,android-context,Android,Class,Textview,Android Context,我正在为一个游戏创建一个引擎,我想让一个活动在一个简单的屏幕上显示我想知道的所有统计信息。这是我的密码: public class StatAct extends Screen { public StatAct(Game game){super(game); } public void update(float deltaTime) { TextView textView = (TextView)findViewById(R.id.screenText); textView.s

我正在为一个游戏创建一个引擎,我想让一个活动在一个简单的屏幕上显示我想知道的所有统计信息。这是我的密码:

public class StatAct extends Screen {
public StatAct(Game game){super(game);
}

public void update(float deltaTime) {
    TextView textView = (TextView)findViewById(R.id.screenText);
    textView.setText("Screen Width: " + HandleRenderView.screenW + ", Screen Height: " + HandleRenderView.screenH);

}
和我的屏幕代码:

public abstract class Screen {
protected final Game game;

public Screen(Game game){
    this.game=game;
}

public abstract void update(float deltaTime);
public abstract void present(float deltaTime);
public abstract void pause();
public abstract void resume();
public abstract void dispose();
}
如何获取上下文以创建新的文本视图(此)?而且,当我尝试使用findViewById(R.id.screenText)时;它说findViewById方法没有解决。我尝试重新启动Android Studio,重建应用程序,甚至清理它。没有任何帮助


EDIT::我还必须导入R文件才能获得R.id.screenText变量。这也是一个问题,我不明白为什么我需要导入它,而它应该像往常一样可以访问。

您可以在活动中使用
findviewbyd
,或者膨胀布局,然后使用类似
view.findviewbyd
的视图

在您的情况下,
StatAct
不是
Activtiy
findViewById
活动
类的一种方法


您可以将上下文传递给非活动类的构造函数。但我不确定您在做什么。

多亏了您,我考虑添加一个自定义getContext()方法,该方法返回我拥有的Activity类的上下文。让它公开和静态,我能够传递它。至少没有错误。我现在要测试它,我试图得到一个扩展SurfaceView的类,在方法setSurfaceSize(intx,inty)上扩展到公共静态intScreenW,screenH。我试图将这些变量传递到TextView中,以显示屏幕的大小。我试过了,但它说必须大于0…但我想我必须运行该线程才能使其生效。@Azurai你需要重新思考你的设计是的,我放弃了TextView的想法,使用了paint and canvas.drawText()方法。这仍然给我带来麻烦,所以我尝试在屏幕上绘制位图,但缩放变量变为零。所以我现在要找出那个问题。你们可以在画布上画文本