0

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

2 回答 2

1

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

于 2012-05-30T16:19:45.367 回答
0

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

于 2012-05-30T15:56:36.880 回答