【问题标题】:Click Listener not invoked within ListFragment单击 ListFragment 中未调用的侦听器
【发布时间】:2012-05-30 15:53:22
【问题描述】:

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

【问题讨论】:

    标签: java android android-fragments actionbarsherlock


    【解决方案1】:

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

    【讨论】:

    • 嗯,我既没有 setOnItemClickListener() 也没有 onItemClickListener() 可以使用。
    【解决方案2】:

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

    【讨论】:

    • 已在上面编辑。是的,当然我会返回视图。我确实看到了列表,也可以点击它们。但是 clickListener 方法没有被调用。
    猜你喜欢
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多