我正在为游戏创建一个引擎,我想要一个活动,在一个简单的屏幕上显示我想要知道的所有统计数据。这是我的代码:
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();
}
如何让Context创建一个新的TextView(this)?而且,当我尝试使用findViewById(R.id.screenText)时;它说方法findViewById没有解决。我尝试重新启动Android Studio,重建应用程序,甚至清理它。没有任何帮助。
编辑::我还必须导入R文件才能获得R.id.screenText变量。这也是一个问题,我不明白为什么我需要导入它,因为它应该像往常一样可以访问。
答案 0 :(得分:0)
您可以在“活动”中使用findViewById
或对布局进行充气,然后使用view.findViewById
之类的视图。
在您的情况下,StatAct
不是Activtiy
类。 findViewById
是Activity
类的方法。
您可以将上下文传递给非活动类的构造函数。但我不确定你在做什么。