Android如何在没有ListView的情况下为ArrayAdapter设置onclick侦听器

Android如何在没有ListView的情况下为ArrayAdapter设置onclick侦听器,android,listview,android-listview,Android,Listview,Android Listview,我遵循了Android的SwipeRefreshListFragment示例 我的代码要点如下: // BEGIN_INCLUDE (setup_views) @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); /** * Create an ArrayAdapter to c

我遵循了Android的SwipeRefreshListFragment示例

我的代码要点如下:

// BEGIN_INCLUDE (setup_views)
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    /**
     * Create an ArrayAdapter to contain the data for the ListView. Each item in the ListView
     * uses the system-defined simple_list_item_1 layout that contains one TextView.
     */
    String[] listOfCustomAssessmentsTitles = {"first", "second", "third"};
    ListAdapter adapter = new ArrayAdapter<String>(
            getActivity(),
            android.R.layout.simple_list_item_1,
            android.R.id.text1,
            listOfCustomAssessmentsTitles);

    // Set the adapter between the ListView and its backing data.
    setListAdapter(adapter);

    // BEGIN_INCLUDE (setup_refreshlistener)
    /**
     * Implement {@link SwipeRefreshLayout.OnRefreshListener}. When users do the "swipe to
     * refresh" gesture, SwipeRefreshLayout invokes
     * {@link SwipeRefreshLayout.OnRefreshListener#onRefresh onRefresh()}. In
     * {@link SwipeRefreshLayout.OnRefreshListener#onRefresh onRefresh()}, call a method that
     * refreshes the content. Call the same method in response to the Refresh action from the
     * action bar.
     */
    setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {
            initiateRefresh();
        }
    });
    // END_INCLUDE (setup_refreshlistener)
}
// END_INCLUDE (setup_views)
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_layout_list_of_assessments, container, false);
        if (listOfCustomAssessmentsTitles!=null){
            ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this.getActivity(), android.R.layout.simple_list_item_1, listOfCustomAssessmentsTitles);
            ListView lv = (ListView)fragmentView.findViewById(R.id.customAssessmentList);
            lv.setOnItemClickListener(new AdapterView.OnItemClickListener()
            {..});
            lv.setAdapter(arrayAdapter);
        }

        //BEGIN_INCLUDE (setup_refreshlistener)
        /**
         * Implement {@link SwipeRefreshLayout.OnRefreshListener}. When users do the "swipe to
         * refresh" gesture, SwipeRefreshLayout invokes
         * {@link SwipeRefreshLayout.OnRefreshListener#onRefresh onRefresh()}. In
         * {@link SwipeRefreshLayout.OnRefreshListener#onRefresh onRefresh()}, call a method that
         * refreshes the content. Call the same method in response to the Refresh action from the
         * action bar.
         */
        setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                initiateRefresh();
            }
        });
        // END_INCLUDE (setup_refreshlistener)
        return view;
    }
但是,如果我现在也这样做,setOnRefreshListener将抛出空指针异常。我假设Android使用的SwipeRefreshFragment使用的是ListFragment,它与我的ListView冲突。因此,我认为有一种方法可以在不使用ListView的情况下设置onClickListener,因为我已经设置了ListAdapter

有什么提示吗?谢谢

LogCat错误:

01-27 20:06:55.173  13769-13769/com.usrs.jiarong.musrs E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.usrs.jiarong.musrs, PID: 13769
    java.lang.NullPointerException
            at com.usrs.jiarong.musrs.helpers.SwipeRefreshListFragment.setOnRefreshListener(SwipeRefreshListFragment.java:54)
            at com.usrs.jiarong.musrs.fragment.Fragment_List_Of_Assessments.onCreateView(Fragment_List_Of_Assessments.java:140)
            at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
            at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
            at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
            at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:454)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:157)
            at android.app.ActivityThread.main(ActivityThread.java:5633)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:896)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:712)
            at dalvik.system.NativeStart.main(Native Method)

请显示您的Logcat错误。我的错误,已更新错误。