Я пытаюсь создать приложение для Android с помощью gridview (http://www.rogcg.com/blog/2013/11/01/gridview-with-auto-resized-images-on-android) и медиаплеер (http://examples.javacodegeeks.com/android/android-mediaplayer-example/), пытаясь совместить два учебника, которые я нашел, чтобы можно было выбрать изображение из Активация GridView запускает деятельность MediaPlayer, которая будет воспроизводить песню.Начало деятельности. Нестатический метод нельзя ссылаться из статического контекста
GridView учебник предложил это для того, чтобы щелкать:
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
// this 'mActivity' parameter is Activity object, you can send the current activity.
Intent i = new Intent(MainActivity.this, AndroidMediaPlayer.class);
MainActivity.startActivity(i);
}
});
Но я не мог заставить его работать и получил предупреждение:
Non-static method 'startActivity(android.content.Intent)' cannot be referenced from a static context
Ребята, когда вы пишете неподдельно внимательно смотрите на вопросы! Он пробует называть намерение в классе, у которого нет информации о контексте! startActivity (i) - thats wrong – once2go
В примере, который он принял, вид сетки сетки определен в классе активности, поэтому мы можем использовать startActivity (i) самостоятельно, не нужно никакого контекста там. – theLazyFinder
Спасибо. Я попробовал 'startActivity (i);' он тоже работал. – Sthlm