Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.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
Java getListView()不工作,显示空指针异常_Java_Android_Fragment - Fatal编程技术网

Java getListView()不工作,显示空指针异常

Java getListView()不工作,显示空指针异常,java,android,fragment,Java,Android,Fragment,我有一个ListFragmentOnItemClick不工作;基本上没有人打电话。我在代码中找不到任何错误。这是不是getListView的问题 我研究过谷歌和StackOverflow,但没有找到解决方案。这是我的密码: public class FragmentSongs extends ListFragment implements OnFragmentCreatedListener,OnItemClickListener { static ListView lv; pri

我有一个
ListFragment
OnItemClick
不工作;基本上没有人打电话。我在代码中找不到任何错误。这是不是
getListView
的问题

我研究过谷歌和StackOverflow,但没有找到解决方案。这是我的密码:

public class FragmentSongs extends ListFragment implements OnFragmentCreatedListener,OnItemClickListener {
    static ListView lv;
    private static final String TAG = FragmentSongs.class.getSimpleName();
    MediaMetadataRetriever metaRetriver1; 
    Vector<ForPLaylist> gtuMcaBean= new Vector<ForPLaylist>();
    Forplaylistadapter adaptor;
        String artist="";
        static int i=0,f=0,k=0;; 


            @Override
            public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
                trial t=new trial();
                t.onCreate();
                ViewGroup root = (ViewGroup) inflater.inflate(R.layout.playlist, container,false);

                 metaRetriver1 = new MediaMetadataRetriever();
                lv=(ListView) root.findViewById(android.R.id.list);

                //data calculation here
                lv.setAdapter(adaptor);     
           //  lv = getListView();//showing error here if i call it
             lv.setOnItemClickListener(new OnItemClickListener() {
                    @Override
                            public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
                        int songIndex=position;
                        Intent in = new Intent(getActivity(), AndroidBuildingMusicPlayerActivity.class);
                        in.putExtra("songIndex",songIndex);
                        startActivityForResult(in, 100);     

                        closefragment();
                        }


                        });
        return root;
            }
            OnFragmentCreatedListener listener;
            private void closefragment() {
                getActivity().getFragmentManager().popBackStack();
            }

            @Override
            public void onFragmentCreated(ArrayList<String> msg) {
            }

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position,
                    long id) {
                int songIndex=position;
                Intent in = new Intent(null, AndroidBuildingMusicPlayerActivity.class);
                in.putExtra("songIndex",songIndex);
                startActivityForResult( in,100);     

            finish();

            }
            private void finish() {

                getActivity().getSupportFragmentManager().beginTransaction().remove(this).commit(); 
            }

            @Override
            public void onActivityCreated(Bundle savedInstanceState) {
                Log.d(TAG, "onActivityCreated");
                if(savedInstanceState != null) {
                    Log.d(TAG, "saved variable number: " + savedInstanceState.getInt("number"));
                }

                super.onActivityCreated(savedInstanceState);
              //  lv=getListView();
            }
            @Override
            public void onViewCreated(View view, Bundle savedInstanceState) {
                super.onViewCreated(view, savedInstanceState);
            // lv = getListView();


            }
    }
公共类FragmentSongs扩展了ListFragment在FragmentCreatedListener、OnItemClickListener上的实现{
静态ListView lv;
私有静态最终字符串标记=FragmentSongs.class.getSimpleName();
MediaMetadataRetriever MetaRetriever 1;
向量gtuMcaBean=新向量();
适配器;
弦乐艺术家=”;
静态整数i=0,f=0,k=0;;
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
试验t=新试验();
t、 onCreate();
视图组根=(视图组)充气器。充气(R.layout.playlist,container,false);
MetaRetriever 1=新的MediaMetadataRetriever();
lv=(ListView)root.findviewbyd(android.R.id.list);
//这里的数据计算
低压设置适配器(适配器);
//lv=getListView();//如果我调用它,则在此处显示错误
lv.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
指数=位置;
Intent in=newintent(getActivity(),androidbuildingMusicLayerActivity.class);
in.putExtra(“歌曲索引”,songIndex);
startActivityForResult(in,100);
closefragment();
}
});
返回根;
}
OnFragmentCreatedListener侦听器;
私有void closefragment(){
getActivity().getFragmentManager().popBackStack();
}
@凌驾
已创建碎片上的公共void(ArrayList msg){
}
@凌驾
public void onItemClick(AdapterView父视图、视图、整型位置、,
长id){
指数=位置;
Intent in=新的Intent(null,androidBuildingMusicLayerActivity.class);
in.putExtra(“歌曲索引”,songIndex);
startActivityForResult(in,100);
完成();
}
专用空心饰面(){
getActivity().getSupportFragmentManager().beginTransaction().remove(this.commit());
}
@凌驾
已创建ActivityState上的公共无效(Bundle savedInstanceState){
Log.d(标记“onActivityCreated”);
如果(savedInstanceState!=null){
Log.d(标记“保存的变量编号:”+savedInstanceState.getInt(“编号”));
}
super.onActivityCreated(savedInstanceState);
//lv=getListView();
}
@凌驾
已创建视图上的公共void(视图,捆绑保存状态){
super.onViewCreated(视图,savedInstanceState);
//lv=getListView();
}
}

尝试移动
getListView()
onActivityCreated
并确保您首先调用
super.onActivityCreated(savedInstanceState)
我认为您应该检查
列表片段
onItemClick
中的代码(而不是
oniteview
方法内部的
onItemClick
):

Intent in = new Intent(null, AndroidBuildingMusicPlayerActivity.class);
只需将其更改为:

Intent in = new Intent(getActivity(), AndroidBuildingMusicPlayerActivity.class);

您告诉的内容没有显示任何错误,但onsettemclick()不起作用……。我的意思是该活动没有被调用。它已经是…..Intent in=new Intent(getActivity(),androidBuildingMusicLayerActivity.class)@开发者否,正如我所说,另一个
onItemClick
不是
onCreateView