onListItemClick 显示为 "never used"

onListItemClick shows as "never used"

下面是我第一次尝试设置点击进入 activity 的列表片段的代码(仅作为测试)。 我遵循了 Android 文档示例,网址为:List Fragment Example

但是,onListItemClick 显示为 "never used"。当我 运行 应用程序显示我的列表时,但当我点击其中的项目时,我只得到以下返回:

D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN

XML:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.example.administrationuser.piclo.ListViewFragment"
        tools:showIn="@layout/activity_list_view"
        tools:layout_editor_absoluteY="0dp"
        tools:layout_editor_absoluteX="0dp"
        >

    <FrameLayout
        android:id="@+id/list_container_id"
        android:layout_width="0dp"
        android:layout_height="0dp"
        tools:layout_editor_absoluteY="8dp"
        tools:layout_editor_absoluteX="8dp">

        <ListView
            android:id="@android:id/list"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:drawSelectorOnTop="false" >
        </ListView>

    </FrameLayout>

</android.support.constraint.ConstraintLayout>

这是列表片段:

package com.example.administrationuser.piclo;

import android.app.Activity;
import android.content.Intent;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;



public class ListViewFragment extends ListFragment {

    public ListViewFragment() {}

        String[] myStringArray = new String[]{"aa","bbb","ccccc","dddddd"};

        @Override
        public void onActivityCreated(Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);

            // Populate list with our static array of titles.
            setListAdapter(new ArrayAdapter<String>(getActivity(),
                    android.R.layout.simple_list_item_activated_1, myStringArray));
        }


    @Override
    public void onListItemClick(ListView l, View v, int position, long id) {
        showDetails(position);   
    }

        void showDetails(int index) {

            int mCurCheckPosition = index;
            Intent intent = new Intent();
            intent.setClass(getActivity(), MessageDetails.class);

            intent.putExtra("Inty", mCurCheckPosition);
            startActivity(intent);

            startActivity(intent);
            }

}

我已经解决了问题。 这是微不足道的,对于任何经验丰富的 Android 开发人员来说都是显而易见的,但这里是为那些可能掉入这个陷阱的初学者准备的....

...不要命名您的 parent activity 'ListView'...它会混淆 OnListItemClick 覆盖,因为它不知道它是 ListView 的哪个 class应该覆盖...实际的或您可能不幸通过最糟糕的名称选择为您的 parent activity.

创建的那个