在网上看了好多文章,写得太专业了,对于我这种散修来说,看完还是茫然。还好看得多了,总也学到点东西,按着自己的理解,尝试了一下,居然也能成功。
记下来,别忘了。
1. Adapter文件;
在Adapter文件中,可以在getView函数中更新数据,也可以 另造一个public函数来更新数据,意义和getView是相同的;
/**
* @param context
* @param textViewResourceId
* @param objects
*/
public List1Adapter(Context context, int textViewResourceId, List<List1Item> objects) {
super(context, textViewResourceId, objects);
//把这个ID记录下来;
m_resID = textViewResourceId;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
List1Item _listItem = (List1Item) getItem(position); // 获取当前项的data实例
View _view1;
//这一步的处理比较重要
//如果不使用convertView,而使用LayoutInflater.fromg来获取View,在外部更新数据时,就不能调用getView来;
//以前没学好,一直没理解这个Adapter的工作方式,学着别人的方法更新,调用getView总是失败;
if (convertView != null) {
//如果参数中的VIEw有效,就使用这个;
_view1 = convertView;