List添加了OnItemClickListener监听,可以在监听里面的AdapterView<?> parent 参数可以获取条目的View,但是这值得注意的是在整个ListView都在屏幕能显示全则可获取ListView的全部条目的信息,如果ListView的条目显示大于屏幕的长度,则不能获取全部的信息,只能获取屏幕当前显示的,不在屏幕显示的条目的数据则为null;但是先获取适配器,从适配器中获取的数据则是ListView的全部数据,不管是不是在当前屏幕显示的均可以获取。
pathList = new ArrayList<>();
position = ((MusicPlayerApplication)getApplication()).getPosition();
adapterView = ((MusicPlayerApplication)getApplication()).getParent();
View view = null;
TextView textView =null;
String path = null;
allMusic = adapterView.getCount();
//只能获取当前的界面的条目数据,不在屏幕的条目的数据均为空
Log.e("error",view+" getCount " + adapterView.getCount());
for (int i = 0;i<adapterView.getCount();i++){
view = adapterView.getChildAt(i);
Log.e("error",view+" i " + i);
if (view == null)
continue;
textView = (TextView)view.findViewById(R.id.url);
path = textView.getText().toString();
pathList.add(path);
}
allMusic = pathList.size();
//获取整个ListView 的条目的数据,不在屏幕的条目数据也可以获取
SimpleAdapter simpleAdapter = ((MusicPlayerApplication)getApplication()).getSimpleAdapter();
for (int i =0;i<simpleAdapter.getCount();i++){
view = simpleAdapter.getView(i,null,null);
textView = (TextView)view.findViewById(R.id.url);
path = textView.getText().toString();
pathList.add(path);
Log.e("路径",textView.getText().toString());
}