Java 自定义adapterView多次调用getView函数并更新列表视图,这会导致应用程序速度缓慢
我有一个自定义适配器,它有Java 自定义adapterView多次调用getView函数并更新列表视图,这会导致应用程序速度缓慢,java,android,android-listview,android-asynctask,listadapter,Java,Android,Android Listview,Android Asynctask,Listadapter,我有一个自定义适配器,它有公共视图getView(int-position,View-convertView,ViewGroup-parent)方法 @Override public View getView(int position, View convertView, ViewGroup parent) { ObjA obj = mArr.get(position); LayoutInflater inflater = (LayoutInflater) mContext.g
公共视图getView(int-position,View-convertView,ViewGroup-parent)
方法
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ObjA obj = mArr.get(position);
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view;
if (convertView == null) {
view = new View(mContext);
view = inflater.inflate(R.layout.grid_view, null);
} else {
view = (View) convertView;
}
// set value into bus_stop_name textView
TextView id_label = (TextView) view.findViewById(R.id.txt_ID);
TextView direction_label = (TextView) view.findViewById(R.id.txt_Direction);
id_label.setText(obj.getId()); // Setting values in view
direction_label.setText(obj.getName());
GetTiming getTiming = new GetTiming(mContext, this, obj.getId(), view);
getTiming.execute();
return view;
}
此GetTiming是从Parse.com获取时间的AsyncTask。我有一个接口,它将调用public void onGetTimings(ArrayList timings,View)
方法
@Override
public void onGetTimings(ArrayList<Timing> timings, View view) {
TextView time = (TextView) view.findViewById(R.id.txt_time);
busRouteTime.setText("" + timings.get(0).getTime() + "");
}
@覆盖
公共void onGetTimings(数组列表计时,视图){
TextView时间=(TextView)view.findViewById(R.id.txt\u时间);
busRouteTime.setText(“+timings.get(0.getTime()+”);
}
此方法多次收到调用。表示多个网络呼叫。我还有其他功能,也使用Parse.com。由于一次又一次地调用此方法,应用程序变得很慢。是否有人建议使用其他选项更新listItemView中的textView?您是否可以设计该应用程序,使用单个api调用而不是每个行元素的每个调用从解析中获取数据?(一次从解析中获取所有数据或获取前x行数据的单个api调用)
然后创建一些模型来存储提取的数据以及来自parse的响应。在此之后,通过适配器进行迭代。是,我必须调用Parse 2次才能获得所需的结果。谢谢,我试试这个。