我使用来自不同地方的一些示例代码编写了ListView,虽然适配器的动态设置正在工作,但由于某种原因,当我滚动到不同的位置时,列表中字符串的末尾将会神奇地消失。为什么是这样?适配器的代码是这样的:另外,列表xml只是没有子节点的标准列表视图。这个适配器添加了孩子。
package com.vrise.bellarmine;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
class EfficientAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private String[] gradesName;
private String[] gradesVal;
public EfficientAdapter(Context context, String[] gradesname, String[] gradesval) {
mInflater = LayoutInflater.from(context);
gradesName = gradesname;
gradesVal = gradesval;
}
public int getCount() {
return gradesName.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.row, null);
holder = new ViewHolder();
holder.text1 = (TextView) convertView
.findViewById(R.id.TextView01);
holder.text2 = (TextView) convertView
.findViewById(R.id.TextView02);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.text1.setText(gradesName[position]);
holder.text2.setText(gradesVal[position]);
return convertView;
}
static class ViewHolder {
TextView text1;
TextView text2;
}
}
另外我出于某种原因无法添加图片。 但它看起来像是:列表滚动,当我向上滚动时,最初的“微积分AB AP”现在是“计算”。