2016-05-27 2 views
0

У меня проблема, когда я пытаюсь нажать значок настроек на панели действий и перейти на страницу настроек в моем проекте Android.Как перейти на другую страницу, когда я нажимаю кнопку настроек на панели действий?

Вот код:

public boolean onOptionsItemSelected(MenuItem item) { 

     if(item.getItemId() == R.id.settings) { 
      startActivity(new Intent(ProfileFragment.this, SettingsActivity.class)); 
     } 

     return super.onOptionsItemSelected(item); 
} 

Ошибка в ProfileFragment.this, SettingsActivity.class линии. Нет фатальной ошибки, но под кодом есть красная строка.

Как я могу это решить?

Спасибо за ответы.

+0

в STARTAC (новый Intent («context», SettingsActivity.class)); –

+0

попытался, но все еще есть ошибка. –

+0

передать этот getActivity(). GetApplicationContext(); –

ответ

2

Используйте этот

public boolean onOptionsItemSelected(MenuItem item) { 

     if(item.getItemId() == R.id.settings) { 
      startActivity(new Intent(getContext(), SettingsActivity.class)); 
     } 

     return super.onOptionsItemSelected(item); 
    } 
0

Изменить это:

startActivity(new Intent(ProfileFragment.this, SettingsActivity.class)); 

к:

startActivity(new Intent(getActivity(), SettingsActivity.class)); 
0

Попробуйте этот контекст Pass

public boolean onOptionsItemSelected(MenuItem item) { 

      if(item.getItemId() == R.id.settings) { 
       startActivity(new Intent(getActivity().getApplicationContext(), SettingsActivity.class)); 
      } 

      return super.onOptionsItemSelected(item); 
    }