我的活动包括2个片段。左边的片段1包含一个ListView,让我们调用listView1,右边的片段2包含一个GridView。每次选择listView1中的项目时,我都实现了一个onItemSelectedListener来将数据发送到远程服务器(用户使用D-pad进行导航)。听众如下:
listView1.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id){
//send data to sever here
sendData();
}
});
当我在ListView中导航时,这没关系。 sendData()方法内置onItemSelected()被正常调用。但问题是每次我导航到我的GridView然后导航回listView1中的上一个选定项目时,onItemSelected和sendData()方法都没有被解雇了。我做了一个搜索,在android reference中找到了只有当新选择的位置与先前选择的位置不同时才调用onItemSelected方法。
那么,即使我导航回上一个选定的项目,如何使onItemSelected起火?
谢谢你的进步!
答案 0 :(得分:0)
使用onListItemClick代替:
@Override
public void onListItemClick(ListView parent, View view, int position, long id) {
sendData();
}