我正在扩展一个SherlockListFragment,但它应该没关系,因为我的问题似乎与Fragments更一般相关。
现在,我为我的列表实现了一个简单的单击侦听器,但它没有被调用。
public class MyListFragment extends SherlockListFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.list, container, false);
v.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
Log.i("debug", "single click");
}
});
return v;
}
}
这有什么不对吗?
//解决方案:
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Log.i("debug", "single click");
}
});
答案 0 :(得分:1)
是的,您在该代码中遇到问题。如果您希望在列表行上获得单击事件,则应使用setOnItemClickListener(),然后将新的onItemClickListener()对象传递给您,就像在代码中使用其他方法一样。 希望这对你有所帮助。祝你好运。
答案 1 :(得分:0)
我认为您的问题可能就像返回您创建的视图一样简单,假设您没有将其留在此处发布。你看到你正在测试点击的列表吗?