我已經使用陣列適配器創建了自定義列表視圖。它包含一個Edittext和一些其他的單選按鈕等。 我的列表視圖顯示每4個視圖後重復的視圖。也就是說,我輸入的第一個Edittext也是在第五個EditText中輸入的。 我已經讀過,爲了節省內存,android只創建了有限的視圖並重復它。 那麼,如何克服這個問題呢?如何使用bindView()方法?和哪裏?如何?ListView中的重複項目
ublic類QuestionAdapter延伸ArrayAdapter {
Context context;
int layoutResourceId;
Question data[] = null;
public QuestionAdapter(Context context, int layoutResourceId, Question[] data) {
super(context, layoutResourceId, data);
this.layoutResourceId = layoutResourceId;
this.context = context;
this.data = data;
}
@SuppressLint("NewApi")
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
final WeatherHolder holder;
if(row == null)
{
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
//row = inflater.inflate(R.layout.listview_item_row, null);
holder = new WeatherHolder();
holder.txtquestion = (TextView)row.findViewById(R.id.txtquestion);
holder.radioYes = (RadioButton)row.findViewById(R.id.radioYes);
holder.radioNo= (RadioButton)row.findViewById(R.id.radioNo);
holder.editResponse=(EditText)row.findViewById(R.id.editResponse);
holder.radio_group=(RadioGroup)row.findViewById(R.id.radio_group);
row.setTag(holder);
}
else
{
holder = (WeatherHolder)row.getTag();
}
Question question = data[position];
holder.txtquestion.setText(question.question);
holder.radioYes.setChecked(true);
holder.radioYes.setChecked(false);
//holder.editResponse.setText("Edit Response");
return row;
}
static class WeatherHolder
{
TextView txtquestion;
RadioButton radioYes;
RadioButton radioNo;
EditText editResponse;
RadioGroup radio_group;
}
}
你可以發佈你的適配器實現? –
把你的代碼片段 – Hemant
@HemantVc PLZ看到的問題/ –