我正在尝试使用gridview(http://www.rogcg.com/blog/2013/11/01/gridview-with-auto-resized-images-on-android)和媒体播放器(http://examples.javacodegeeks.com/android/android-mediaplayer-example/)尝试组合我发现的两个教程来创建一个Android应用程序,这样就可以从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
答案 0 :(得分:6)
v.getContext().startActivity(i);
在调用startActivity或使用全局上下文之前从视图中获取上下文 根据您的教程,您将适配器类放在MainActivity.class中 这就是为什么你也可以使用下一种类型的呼叫
MainActivity.this.startActivity(i);
答案 1 :(得分:0)
为什么使用 MainActivity.startActivity(i)
;
请使用startActivity(i)
insted。
答案 2 :(得分:-1)
删除MainActivity
只需使用startActivity(i)