找出在自定义ListFragment中单击了哪些视图

时间:2015-07-20 19:22:54

标签: android android-fragments

我在Android中有一个ListFragment,它有两个元素:

  • 包含“任务”(R.id.taskView)的TextView。
  • 包含已分配该任务的员工的TextView。

如果用户点击任务名称,它将在另一个片段中显示任务信息。但是,如果用户点击员工的姓名,则另一个片段将显示该员工的信息。

我上传了一张图片,以帮助您理解:http://imgur.com/mwhT3mR

我正在使用自定义适配器:

public View getView(int position, View convertView, ViewGroup parent) {

        View currentView = convertView;
        if (currentView == null) {
            currentView = getActivity().getLayoutInflater().inflate(R.layout.bLoton_habitacion, parent, false);
        }
        setOnclickListeners(currentView, position);
        return currentView;
}

private void setOnclickListeners(View currentView, int position) {
    TextView taskView = (TextView) currentView.findViewById(R.id.taskView);
    taskView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.i("TASK LISTING", "TASK VIEW CLICKED");
        }
    });
}

这可以按预期工作。如果用户单击taskView,则会显示消息“TASK VIEW CLICKED”。

但问题是我需要知道单击ListFragment的位置; onClick方法不会“看到”单击的元素。

有没有办法获取用户点击元素的位置?

1 个答案:

答案 0 :(得分:0)

您可以将setOnclickListeners-method的position参数设为 final int,然后在onClick()

中使用该参数