Tag: onresume

使用Android中的SurfaceView和Thread正确暂停onPause()和onResume()线程

要运行我在Android上创建的游戏,我一直在使用GamePanel包含方法onDraw()和onTouch()。 我也一直在使用一个GameThread类,它反复调用onDraw()和update()。 我的活动实例化了GamePanel,我的GamePanel实例化了GameThread。 我的onPause()只是将线程内的while循环中的条件设置为false。 我的onResume()过去只是设置为等于true,但是每次我尝试恢复应用程序时都会给我一个强制关闭错误( 参见编辑#1 )。 所以反而修复问题我只是重新实例化了线程, thread = new GameThread(getHolder(), this); 这解决了问题的一部分,允许我最小化应用程序,然后重新打开它没有问题。 但是,当我在应用程序中并锁定手机然后将其解锁(打开和关闭屏幕)时,线程永远不会启动。 这只是我的游戏处于冻结状态。 我知道我对这个问题的解决方案非常时髦,我很想学习一种更加接受和干净的方法来完成这一切。 这是代码(我遗漏了一些似乎不相关的行): GameActivity: void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); gamePanel = new MainGamePanel(this); setContentView(gamePanel); } protected void onPause() { super.onPause(); gamePanel.shutDown(); } protected void onResume() { super.onResume(); gamePanel.startUp(); } 的GamePanel public MainGamePanel(Context context) { super(context); getHolder().addCallback(this); //adding the callback (this) […]

onResume()更新TextView

我有我的主要depotactivity他将整数值设置为textview,现在我希望这个值在调用onResume()时更新…但是当我添加我的小onResume()代码时 public class DepotActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); DepotDBUtils utils = new DepotDBUtils(this); int itemcount = utils.countItems(this); TextView tv = (TextView)findViewById(R.id.counter); tv.setText(tv.getText()+” “+itemcount); } String TAG = “DepotActivity”; String[] itemInfo; public void onResume(){ Log.d(“DepotActivity”,”onResume() gets called”); DepotDBUtils utils = […]

Android – 如何在每次打开应用程序时启动完全相同的活动?

简而言之,举个例子,我基本上有一个包含3个活动的应用程序:Activity1 Activity2 StartActivity StartActivity包含两个按钮,分别对应于其他两个活动,启动它们。 如果我从Activity1退出应用程序,当我稍后点击手机中的应用程序图标时,Activity1会重新启动,因为Android会跟踪此情况。 我需要重新启动应用程序才能将我带到StartActivity,这样我就可以通过单击按钮选择去哪里,而不必单击后退按钮就可以在StartActivity中结束。 我假设onResume和onRestart参与其中,但他们应该去哪里? 非常感谢任何帮助,谢谢。