2016-11-08 1 views
2

У меня есть игра GamePanel, которая расширяет Surfaceview с помощью контекстного кода ниже.Android: Как перейти от MainActivity к Surfaceview

public GamePanel(Context context) 
{ 
super(context); 
this.mContext = context; 
mContext = getContext(); 

//add the callback to the surfaceholder to intercept events 
getHolder().addCallback(this); 

thread = new MainThread(getHolder(), this); 

//make gamePanel focusable so it can handle events 
setFocusable(true); 
} 

Теперь я использовал это, чтобы перейти к моему классу MainMenu из GamePanel.

Intent intent = new Intent(mContext, MainMenu.class); 
       mContext.startActivity(intent); 

Вот мой вопрос: Как я могу вернуться из MainMenu деятельности к деятельности GamePanel, которая проходит SurfaceView при нажатии кнопки?

EDIT: Вот верхняя линия моей GamePanel деятельности:

public class GamePanel extends SurfaceView implements SurfaceHolder.Callback 
+0

'Activity' не может распространяться' SurfaceView'. Вы делаете что-то неправильно. Покажите верхние строки класса, где вы видите 'public class GamePanel extends ...', поэтому мы видим, что ваш GamePanel действительно –

+0

Вот верхняя строка кода – DavidPrabhu

ответ

1

Как я уже сказал, это не Activity. Пожалуйста, прекратите называть его Activity. Это SurfaceView, который является подклассом View и составляет не подкласс Activity.
Чтобы начать работу, вам просто нужен экземпляр Context.
Каждый View может предоставить экземпляр Context по телефону getContext()
Так, чтобы начать другую Activity из View, вы можете позвонить

Intent intent = new Intent(getContext(), MainMenu.class); 
       mContext.startActivity(intent); 
getContext().startActivity(intent); 
+0

Спасибо за исправление моей терминологии. Но им в деятельности MainMenu и оттуда я хочу пойти в SurfaceView. Как связать контекст SurfaceView с активностью MainMenu? – DavidPrabhu

+0

@DavidPrabhu, о, извините, перепутал ваш вопрос. ОК. Ваш 'SurfaceView' принадлежит некоторой Деятельности. Вы должны начать эту деятельность так же, как вы начали «MainMenu» –

+0

Можете ли вы указать пример кода? – DavidPrabhu

Смежные вопросы