Android:ContextMenu和LongClick问题
我有一个充满个人视图的列表视图。我想在长时间单击某个项目时创建一个菜单。因此,我在onCreate中有以下内容:Android:ContextMenu和LongClick问题,android,listview,nullpointerexception,contextmenu,onlongclicklistener,Android,Listview,Nullpointerexception,Contextmenu,Onlongclicklistener,我有一个充满个人视图的列表视图。我想在长时间单击某个项目时创建一个菜单。因此,我在onCreate中有以下内容: myListView.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener(){ public void onCreateContextMenu(ContextMenu cMenu, View v, ContextMenu.ContextMenuInfo menuInfo) {
myListView.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener(){
public void onCreateContextMenu(ContextMenu cMenu, View v, ContextMenu.ContextMenuInfo menuInfo) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.song_menu, cMenu);
}});
myListView.setOnItemLongClickListener(new OnItemLongClickListener(){
public boolean onItemLongClick(AdapterView<?> a, View v, int pos, long id) {
lastOnLongClickedPos = pos;
Log.v("test pos", currentList.getSong(lastOnLongClickedPos).getTitle());
return false;
}
});
在该函数中,由于clickedMusic=currentList.getSonglastOnLongClickedPos.getPath行,currentList似乎为空;使我得到一个空指针异常。我已经测试了lastOnLongClickedPos,一切正常。事实上,我的currentList在这两个函数中是不同的,我真的不知道为什么!
有什么想法吗x您何时启动当前列表?
final String clickedMusic;
Uri uriSong;
switch(item.getItemId()) {
case R.id.songlist_play :
clickedMusic = currentList.getSong(lastOnLongClickedPos).getPath();
uriSong = Uri.parse("file://" + clickedMusic);
// send uri to player
return true;
[...]