Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在setAdapter中的片段-java.lang.Null错误中的OnItemSelectedListener中展开ListView_Android_Listview_Fragment_Android Listfragment_Onitemclicklistener - Fatal编程技术网

Android 在setAdapter中的片段-java.lang.Null错误中的OnItemSelectedListener中展开ListView

Android 在setAdapter中的片段-java.lang.Null错误中的OnItemSelectedListener中展开ListView,android,listview,fragment,android-listfragment,onitemclicklistener,Android,Listview,Fragment,Android Listfragment,Onitemclicklistener,我快发疯了,我得到了这个错误:在这一行listView.setAdapterdataClassificationAdapter;: 10-07 08:03:24.592: E/AndroidRuntime(2396): FATAL EXCEPTION: main 10-07 08:03:24.592: E/AndroidRuntime(2396): Process: com.tfg.webquest, PID: 2396 10-07 08:03:24.592: E/Androi

我快发疯了,我得到了这个错误:在这一行listView.setAdapterdataClassificationAdapter;:

   10-07 08:03:24.592: E/AndroidRuntime(2396): FATAL EXCEPTION: main
   10-07 08:03:24.592: E/AndroidRuntime(2396): Process: com.tfg.webquest, PID: 2396
   10-07 08:03:24.592: E/AndroidRuntime(2396): java.lang.NullPointerException
   10-07 08:03:24.592: E/AndroidRuntime(2396):  at com.tfg.webquest.HomeActivity$ClassificationTab.onCreateView(HomeActivity.java:698)
还有更多

我有这个:

public class HomeActivity extends ActionBarActivity implements ActionBar.TabListener, OnItemSelectedListener {

public static class ClassificationTab extends Fragment{

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.fragment_home_classification, container,false);

        //Get the subject spinner
        spinnerSubjectClassification = (Spinner) rootView.findViewById(R.id.home_classification_spinner);
        //subjectSpinnerArray will show "(Choose a subject)"+all the subjects 
       String[] subjectSpinnerArray = new String[ss.length+1];
        //Insert in the subjectSpinnerArray "(Choose a subject)"
        subjectSpinnerArray[0]=getString(R.string.home_select_subject_string);
        //Insert in the subjectSpinnerArray all the subjects    
        for(int i=0;i<ss.length;i++){
            subjectSpinnerArray[i+1]=ss[i];
        }
        //Insert the information of the array on a list so as to introduce it in the adapter
        List<String> list = new ArrayList<String>();
             for(int i=0;i<subjectSpinnerArray.length;i++){
                    list.add(subjectSpinnerArray[i]);
              }
                ArrayAdapter<String> dataAdapter2 = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item,list);
                //Dropdown the adapter
                dataAdapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                //Show the adapter
                spinnerSubjectClassification.setAdapter(dataAdapter2);    
             //It activates the retrocalled method, called when we choose a subject
                spinnerSubjectClassification.setOnItemSelectedListener(mySubjectClassificationListener);
    }


    private OnItemSelectedListener mySubjectClassificationListener = new Spinner.OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) {
            //Fill the subjectList
            for(int i=0;i<classification[pos-1].length;i++){
                ClassificationModel classificationModel = new ClassificationModel(classification[pos-1][i]);
                classificationList.add(classificationModel);
            }


            //create an ArrayAdaptar from the String Array
            dataClassificationAdapter = new MyCustomAdapter(ctx,R.layout.classification,classificationList);

            ListView listView = (ListView) getView().findViewById(R.id.classification_list);

            ArrayAdapter<String> stringAdapter = new ArrayAdapter<String>(getActivity(), 
                    android.R.layout.simple_list_item_2, classification[pos-1]);

            ListView listView = (ListView) getView().findViewById(R.id.listview_classification); 

            // Assign adapter to ListView

            listView.setAdapter(dataClassificationAdapter);
        }
    }
}

我需要在onClickListener中膨胀listView,因为listView的内容取决于微调器所选的项。 感谢您抽出时间。

将getView.findViewById替换为getActivity.findViewById


<>但是您应该考虑将ListVIEW创建移动到OnCeCaleVIEW,然后使用RooVIEW.FIDVIEW BYID和OnITME只选择适配器

中的更改数据。HOFACTIVE?ListVIEW.StAdvutDATAcLassifActudio适配器的在线698是什么?那么您的listView为空。ListView ListView=ListView getView.findViewByIdR.id.classification\u列表;这条线路导致了问题。请注意您是如何在那里创建2个listview变量的。感谢您更正此错误。但我的问题仍然在发生:我在同一行中删除一个listView时出现了相同的错误,使用:listView listView=listView getView.findViewByIdR.id.listView\u分类;确保在更改某些内容后继续编辑您的答案。你说你在用rootView。在该方法上,rootView不存在。另外,您确定listview\u分类存在吗?即使使用getActivity.FindViewByDb,我的错误仍然存在,但我无法在OnCreate中膨胀listview,因为首先我需要选择一个微调项,因此我必须从列表中膨胀listview。您确定在其中有id为R.id.classification\u列表和R.id.classification\u列表的listview吗你的R.layout.fragment\u home\u分类布局?通过使用findViewById,你不会膨胀视图,只获取其实例。如果视图已经位于布局中的视图层次结构中,则可以使用findViewBYId;如果要向布局添加新的listview,则需要使用LayoutFlater,或者只需向根视图添加子视图。我拥有的是布局中的listview。我还有一个适配器,它可以膨胀另一个填充文本视图的布局,这是一个列表项的内容。