2016-07-08 5 views
-1

имеют простую активность с помощью метода onClick - он работает , но Android Studio отмечает startActivity red says не может разрешить метод - так почему?startActivity in onclick

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.lyt_start); 
} 

public void onClick(View v) { 
    switch (v.getId()) { 

     case R.id.btn1: 

      Intent int_Update = new Intent(v.getContext(), aty_Update.class); 

      startActivity(int_Update); 

      break; 

     case R.id.btn2: 

      Intent int_Start = new Intent(v.getContext(), aty_Main.class); 
      startActivity(int_Start); 

      break; 
    } 
} 
+0

Просто чтобы убедиться, что этот класс 'расширяет Activity'? – codeMagic

+0

, если startActivity подчеркнуто красным, это означает, что проект не настроен правильно или правильно создан. с кодом ничего не получается. Попытайтесь выполнить градиентную синхронизацию, и я уверен, что это покажет вам некоторые ошибки или что-то еще. –

+0

Эй, ты мой человек - ты прав - после этого ... все ошибки исчезли - это волшебство - нет, это Шемеш;)) –

ответ

0

Не используйте v.getContext(), используйте:

Intent int_Update = new Intent(this, aty_Update.class); 

Или MyActivity.this вместо этого.

Кроме того, вы не устанавливаете onClickListener правильно. Посмотрите на this link, чтобы узнать, как это сделать правильно.

+0

Я сделал это «раньше», но Studio отмечает это красным - ошибка не может решить конструктор –

+0

используют u getApplicationContext() ' –

+0

> Или вместо' MyActivity.this'. <просто замените имя своей деятельности. – Vucko

0

Используйте следующий код:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.lyt_start); 
} 

public void onClick(View v) { 
    switch (v.getId()) { 

     case R.id.btn1: 

      activityStarter(aty_Update.class); 

      break; 

     case R.id.btn2: 

      activityStarter(aty_Main.class); 

      break; 
} 


     Intent int_Update; 

public void activityStarter(Class<?> cls){ 
     int_Update = new Intent(getApplicationContext(), cls); 
     startActivity(int_Update); 
    } 
+0

деятельность стартер приложение Inventor? –

+0

это сработало для вас? – Saini

+0

нет, он не работает –