2017-01-21 2 views
0

У меня есть кнопка «Играть сейчас» для простой игры для Android. Когда я нажимаю кнопку, она вызывает start, но ничего не делает. Вот start():Экраны переключателей на Android не работают

public void start(View view) { 
    Intent myIntent = new Intent(this, Game.class); 
    startActivity(myIntent); 
} 

и Game.java:

public class Game extends MainActivity { 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.game); 
     Intent intent = new Intent(); 
     setResult(RESULT_OK, intent); 
     finish(); 
    } 
} 

Кроме того, я не забыл поставить его в проявленное

<activity android:name=".Game"></activity>

Я новичок к андроиду, и все это очень запутанно. Я попытался установить фильтр намерений, хотя я, вероятно, сделал это неправильно. Я посмотрел на это How to switch between screens?, но это не сработало для меня.

+3

Я вижу, что вы называете 'finish();' там. Зачем? – user5195185

ответ

1

Вы заканчиваете деятельность только при ее создании (onCreate). Попробуйте удалить или комментировать finish(); и удачи!

+0

Спасибо. Раньше я это пробовал, но подумал об этом, когда у меня была еще одна ошибка в моем коде, который я исправил. :) –

1

Удалите следующие строки, мы используем их с startActivityForResult, после удаления он должен работать, кроме этого все нормально метод

Intent intent = new Intent(); 
setResult(RESULT_OK, intent); 
finish(); 
0

На самом деле, ваша функция запуска работает fine.But проблема с OnCreate() в игре. Вы вызываете метод finish() в этом, который убивает активность. Избавьтесь от этого метода, а затем проверьте. Еще одна вещь, я не понимаю, в чем цель setResult в вашем контексте. Это на самом деле используемый для метода startActivityForResult(). Обратитесь к этой ссылке для получения дополнительной информации: https://developer.android.com/training/basics/intents/result.html

public class Game extends MainActivity { 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.game); 
    //Intent intent = new Intent(); 
    //setResult(RESULT_OK, intent); 
    //finish(); 
    } 
} 
Смежные вопросы