2012-01-25 3 views
0

У меня есть проект в затмении под названием «mijnenveger». Конечно, файл Mijnenveger.java был автоматически создан. Например, метод onCreate wihch нажимает кнопки на экране.Android: загрузите другой класс, нажав кнопку?

Теперь я хочу сделать меню перед ним, например, с помощью menu.xml. С помощью кнопок, справки и воспроизведения. И когда я нажимаю play, обычный вид (который является main.xml и включает Mijnenveger.java).

Я знаю, что я могу установить setContentView в меню:

public class Mijnenveger extends Activity implements View.OnClickListener{ 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); //main would be replaced by menu 

И сделать действие OnClick для кнопки воспроизведения, чтобы показать main.xml:

setContentView(R.layout.main); 

Но есть одна проблема с этим. Когда я запускаю приложение, ему не нужно загружать все кнопки и прочее, которые находятся в onCreate() из Mijnenveger.java. Только меню в этом случае.

Так что можно выбросить все из Mijnenveger.java в новый класс (например, class1.java) и сделать Mijnenveger.java загружать только меню, а затем, когда нажата кнопка воспроизведения, он загружает класс class1 .java, который открывает main.xml со всеми кнопками и т. д.

Я надеюсь, вы понимаете, это было трудно объяснить на английском языке :)

EDIT: Найденный возможный ответ (http://stackoverflow.com/questions/2865238/how-do-i-call -a-Java-файлов на щелчок-в-другом-Java-класс):

startActivity(new Intent(this, Game.class)); 

Я сделал то, что я сказал выше, и называется файл Game.java. Но это дает мне эту ошибку: Конструктор Intent (новый View.OnClickListener() {}, класс) не определено

EDIT2: теперь у меня есть это:

final Button startgame = (Button) findViewById(R.id.startknop); 
    startgame.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      Intent i = new Intent(this, Game.class); 
      startActivity(i); 
      setContentView(R.layout.main); 
     } 
    }); 

И это все еще дает это error: Конструктор Intent (новый View.OnClickListener() {}, класс) не определен

В этом «есть» что-то неправильно.

ответ

0

Вставьте экран меню в действие, которое выполняется первым и запустит вашу кнопку для запуска другого действия для соответствующего кода.

узнать больше о деятельности и намерениях из документации Android разработчика

2

создать второй класс acitvity, например GameActivity.java.
in способ onClick для кнопка играть, начало GameActivity класс.

Intent i = new Intent(this, GameActivity.class); 
startActivity(i); 
+0

Как создать новый класс деятельности? Он уже содержит это: public class Game extends Activity – Mavix

+1

Мне просто нужно было добавить активность в manifest.xml. Спасибо за помощь. – Mavix

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