【发布时间】:2016-02-29 16:37:02
【问题描述】:
我有 MainActivity.class 有一些方法。 这是我想在应用启动时调用的方法:
public void loadGame(View view) {
SharedPreferences loadGame = getSharedPreferences(PREFS, MODE_PRIVATE);
cashView.setText("cash: " + String.valueOf(cash));
levelView.setText("level: " + String.valueOf(level));
}
所以我尝试在我的 onCreate 方法中输入以下内容:
loadGame();
但是我得到一个错误: (View) 中的 MainActivity 不能应用于 ()
很抱歉提出这么愚蠢的问题,但我不明白。 我认为 onCreate 和其他活动方法类似于 Java 中的 main 方法(但它们不是),但我仍然可以轻松地为 Button onClick 分配一个方法。为什么应用启动时不能调用方法?有什么解决办法吗?
更新:MainActivity 代码:
public class MainActivity extends AppCompatActivity {
private int cash = 1000;
private int level = 1;
private TextView cashView;
private TextView levelView;
public static final String PREFS = "MySavedGameFile";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//the compiler says it cannot resolve symbol 'view'
// loadGame(view);
//I need to call the method anyway
cashView = (TextView) findViewById(R.id.cashView);
levelView = (TextView) findViewById(R.id.levelView);
}
public void loadGame(View view) {
SharedPreferences loadGame = getSharedPreferences(PREFS, MODE_PRIVATE);
cash = loadGame.getInt("savedCash", 1000);
level = loadGame.getInt("savedLevel", 1);
cashView.setText("Cash: " + String.valueOf(cash));
levelView.setText("Level: " + String.valueOf(level));
【问题讨论】:
-
可以在onCreate中调用方法,能否贴出完整的onCreate方法
-
很好奇为什么你需要为这个方法传递视图?删除参数,只调用不带参数的函数。
-
而不是 public void loadGame(View view) put public void loadGame()
-
发布您的错误堆栈跟踪。
-
发布你的错误堆栈跟踪。显然没有堆栈跟踪......这是一个编译时错误
标签: java android android-studio methods oncreate