Java setOnItemClickListener不在片段中的ListView上工作

Java setOnItemClickListener不在片段中的ListView上工作,java,android,android-listview,Java,Android,Android Listview,当我单击选项卡片段1中的listview时,它将无法跳转到下一个活动。我已经在课堂上设置了一个监听器,但仍然无法工作。现在我的问题是,当我单击listview时,它将无法工作 public class TabFragment1_Staff extends Fragment { ListView lsReport; ArrayList<HashMap<String, String>> reportlist; public View onCreateV

当我单击选项卡片段1中的listview时,它将无法跳转到下一个活动。我已经在课堂上设置了一个监听器,但仍然无法工作。现在我的问题是,当我单击listview时,它将无法工作

public class TabFragment1_Staff extends Fragment {
    ListView lsReport;
    ArrayList<HashMap<String, String>> reportlist;
    public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
        return inflater.inflate(R.layout.activity_tab_fragment1__staff, container, false);
    }
    @Override
    public void onActivityCreated(Bundle savedInstanceState){
        super.onActivityCreated(savedInstanceState);
        reportlist = new ArrayList<>();
        lsReport = getActivity().findViewById(R.id.listReport);
        loadReport();
        lsReport.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Intent intent = new Intent(getActivity(),AddStatusDialogWindow.class);
                Bundle bundle = new Bundle();
                Log.e("HANIS",reportlist.get(position).get("reportID"));
                bundle.putString("reportID",reportlist.get(position).get("reportID"));
                bundle.putString("fullName",reportlist.get(position).get("fullName"));
                bundle.putString("icNum",reportlist.get(position).get("icNum"));
                bundle.putString("phoneNum",reportlist.get(position).get("phoneNum"));
                bundle.putString("Rdate",reportlist.get(position).get("Rdate"));
                bundle.putString("Rtime",reportlist.get(position).get("Rtime"));
                bundle.putString("timeName",reportlist.get(position).get("timeName"));
                bundle.putString("typeVehicle",reportlist.get(position).get("typeVehicle"));
                bundle.putString("registrationnum",reportlist.get(position).get("registrationnum"));
                bundle.putString("location",reportlist.get(position).get("location"));
                bundle.putString("brief",reportlist.get(position).get("brief"));
                intent.putExtras(bundle);
                startActivity(intent);
            }
        });
    }
}
tabFragment1.xml

LoadReport类


公共类CustomList\u StatusReport扩展了SimpleAdapter{

private Context mContext;
public LayoutInflater inflater = null;
public CustomList_StatusReport(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) {
    super(context, data, resource, from, to);
    mContext = context;
    inflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View vi=convertView;
    try {
        if (convertView == null)
            vi = inflater.inflate(R.layout.activity_custom_list__status_report, null);
        HashMap<String, Object> data = (HashMap<String, Object>) getItem(position);
        TextView reportID = vi.findViewById(R.id.tvReport_ID);
        TextView cName = vi.findViewById(R.id.tvCompliantName);
        TextView cIC = vi.findViewById(R.id.tvCompliantIC);
        TextView cPhone =  vi.findViewById(R.id.tvCompliantPhone);

        String id = (String) data.get("reportID");
        String name = (String)data.get("fullName");
        String ic = (String)data.get("icNum");
        String phone = (String)data.get("phoneNum");

        reportID.setText(id);
        cName.setText(name);
        cIC.setText(ic);
        cPhone.setText(phone);
    }catch (IndexOutOfBoundsException e){}
    return vi;
}

在tabFragment1.xml中,为什么要使用以下代码行

android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"

如果不需要,请删除这些,并让我们知道是否存在此问题?

为什么此问题被标记为javascript?您可以共享CustomList\u StatusReport代码吗?我认为可能存在此错误。您是否在线性布局标记中添加了android:DegenantFocusability=blocksDescendants?否。是否需要在我的线性布局中添加这些内容?而不是在片段内使用getActivity,使用Requiresponsibility方法。如果AddStatusDialogWindow.class是一个活动,请使用意图进行导航,或者如果其片段,请使用片段事务进行导航。如果出现任何logcat错误,请也发布该错误。
private Context mContext;
public LayoutInflater inflater = null;
public CustomList_StatusReport(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) {
    super(context, data, resource, from, to);
    mContext = context;
    inflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View vi=convertView;
    try {
        if (convertView == null)
            vi = inflater.inflate(R.layout.activity_custom_list__status_report, null);
        HashMap<String, Object> data = (HashMap<String, Object>) getItem(position);
        TextView reportID = vi.findViewById(R.id.tvReport_ID);
        TextView cName = vi.findViewById(R.id.tvCompliantName);
        TextView cIC = vi.findViewById(R.id.tvCompliantIC);
        TextView cPhone =  vi.findViewById(R.id.tvCompliantPhone);

        String id = (String) data.get("reportID");
        String name = (String)data.get("fullName");
        String ic = (String)data.get("icNum");
        String phone = (String)data.get("phoneNum");

        reportID.setText(id);
        cName.setText(name);
        cIC.setText(ic);
        cPhone.setText(phone);
    }catch (IndexOutOfBoundsException e){}
    return vi;
}
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"