2015-03-09 5 views
-1

Я хочу кнопку, чтобы открыть класс активности, который устанавливает XML-файл макета. Все в порядке, но кнопка не работает без метода @Override. С помощью метода @Override я получаю эту ошибку:Как открыть отдельную операцию при нажатии кнопки?

The method onCreate1(Bundle) of type MainActivity must override or implement a supertype method.

Button button; 

    @Override 
    public void onCreate1(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     // Get the view from activity_main.xml 
     setContentView(R.layout.activity_main); 

     // Locate the button in activity_main.xml 
     button = (Button) findViewById(R.id.MyButton); 

     // Capture button clicks 
     button.setOnClickListener(new OnClickListener() { 
      public void onClick(View arg0) { 

       // Start NewActivity.class 
       Intent myIntent = new Intent(MainActivity.this, 
         NewActivity.class); 
       startActivity(myIntent); 
      } 
     }); 
    } 

Причина заключается в том, я уже @Override аннотации к другому методу.

То, что я пробовал:

  • Чтение учебника по деятельности, несколько видов деятельности, а также передачу данных между различными видами деятельности.

  • Решение проблемы путем редактирования манифеста Android.

  • Создание отдельной цели запуска для деятельности.

+3

Почему ваш метод называется 'onCreate1'? – shmosel

+0

Что именно вы хотите сделать при нажатии кнопки? – dhuma1981

+0

Вам нужно больше практики в объектно-ориентированных языках в отношении наследования и полиморфизма, или вам нужно более четко понимать жизненный цикл активности Android. Ваш вопрос очень расплывчатый и не может быть понят. Пожалуйста, не забудьте уточнить, что вы хотите, и не понимаете точно. – einschnaehkeee

ответ

0

Изменить

@Override 
public void onCreate1(Bundle savedInstanceState) 

в

@Override 
protected void onCreate(Bundle savedInstanceState) 
0

Вы должны называть его так же, как функции, которую вы хотите заменить.

@Override 
protected void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    somethingSomething(); 
} 
2

Если вы хотите использовать метод с именем onCreate1(), вам необходимо удалить из него @Override

+0

Затем кнопка ничего не делает. Он не открывает другую активность. Метод становится бесполезным. – King

+0

@officialasim Почему бы вам не удалить этот метод и использовать метод onCreate() – Fahim

0

Убрана @Override аннотаций, как предложено. Переименован метод onCreate1 в onCreate. Я хочу, чтобы этот вопрос был закрыт, потому что мне нужно подумать о том, как эффективно решить эту проблему.

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