单击ListFragment中未调用的侦听器

时间:2012-05-30 15:53:23

标签: java android android-fragments actionbarsherlock

我正在扩展一个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");
    }
});

2 个答案:

答案 0 :(得分:1)

是的,您在该代码中遇到问题。如果您希望在列表行上获得单击事件,则应使用setOnItemClickListener(),然后将新的onItemClickListener()对象传递给您,就像在代码中使用其他方法一样。 希望这对你有所帮助。祝你好运。

答案 1 :(得分:0)

我认为您的问题可能就像返回您创建的视图一样简单,假设您没有将其留在此处发布。你看到你正在测试点击的列表吗?