Java 如何从子目的运行方法
我的android应用程序有两个意图Java 如何从子目的运行方法,java,android,android-intent,Java,Android,Android Intent,我的android应用程序有两个意图 第一个:主窗口 第二个包含游戏视图(SurfaceView) 当用户按下“返回”按钮时,在游戏视图缩进暂停(surfaceDestroyed)之前出现主窗口 但是,在主窗口出现之前,我需要在游戏视图中运行一个方法。我一直坚持这个问题 此处代码: 主窗口类: @Override public void onClick(final View v) { if (v.getId() == R.id.StartBtn) { final
- 第一个:主窗口
- 第二个包含游戏视图(SurfaceView) 当用户按下“返回”按钮时,在游戏视图缩进暂停(surfaceDestroyed)之前出现主窗口
@Override
public void onClick(final View v) {
if (v.getId() == R.id.StartBtn) {
final Intent myIntent = new Intent(getApplicationContext(),
StartActivity.class);
this.startActivity(myIntent);
}
}
StartActivity类
public class StartActivity extends Activity {
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
}
@Override
protected void onPause() {
super.onPause();
}
@Override
protected void onSaveInstanceState(final Bundle outState) {
super.onSaveInstanceState(outState);
}
public class GameView extends SurfaceView implements SurfaceHolder.Callback {
@Override
public void surfaceDestroyed(final SurfaceHolder arg0) {
//Do some operations before destroing
}
}
游戏视图类
public class StartActivity extends Activity {
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
}
@Override
protected void onPause() {
super.onPause();
}
@Override
protected void onSaveInstanceState(final Bundle outState) {
super.onSaveInstanceState(outState);
}
public class GameView extends SurfaceView implements SurfaceHolder.Callback {
@Override
public void surfaceDestroyed(final SurfaceHolder arg0) {
//Do some operations before destroing
}
}
布局活动\u开始
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".StartActivity" >
<com.somepackage.appname.GameView
android:id="@+id/game_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
因此,我需要先在GameView中启动surfaceDestroyed,然后再在主窗口上恢复。我不确定这是否真的是yiu想要的,但我会尝试一下: 在调用其他活动中的任何方法之前,需要在其他活动中有一个实例。您可以使用以下方法实现此目标:
(OtherActivity) getActivity.myMethod();
使用Activity.this而不是getApplicationContext()。这可能就是问题所在。如果没有,请提供代码。只需使用
Intent intent = new Intent(MainAWindow.this,StartActivity.class);
startActivity(intent);
你的恢复方法在哪里?。。。正确地解释你的问题,你到底想达到什么目的?请提供一些代码。我在我的第一篇博文中添加了一些代码。在MainWindow类中,这些代码丢失了。在主窗口中调试OnResume时,在GameView类中SurfacedStroyed运行之前启动。但是我需要在主窗口的onResume之前执行这个方法