【发布时间】:2019-02-06 10:27:12
【问题描述】:
我有常见问题作为列表视图,它将包含一个问题、一个答案和一个图像视图。我附上下面的屏幕截图。当单击第一项时,它将使第一行的答案可见(最初可见性消失)。问题是它也会使第十个项目可见。同样的情况一直发生到第四个项目
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.faq_listitem, parent,false);
holder.mQuestionnoTextView= convertView.findViewById(R.id.question_no);
holder.mQuestionTextView = convertView.findViewById(R.id.question);
holder.mAnswerTextView = convertView.findViewById(R.id.answer);
holder.viewMore=convertView.findViewById(R.id.show_more) ;
convertView.setTag(holder);
} else
holder = (ViewHolder) convertView.getTag();
int number=position+1;
holder.mQuestionnoTextView.setText(MessageFormat.format("{0})", number));
holder.mQuestionTextView.setText(MessageFormat.format("{0}", getItem(position).getQuestion()));
holder.mAnswerTextView.setText(getItem(position).getAnswer());
final TextView answers=holder.mAnswerTextView;
final ImageView arrow=holder.viewMore;
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (answers.isShown()) {
answers.setVisibility(View.GONE);
arrow.setRotation(0);
} else {
answers.setVisibility(View.VISIBLE);
arrow.setRotation(180);
}
//mAdapter.notifyDataSetChanged();
}
});
return convertView;
}
【问题讨论】:
-
使用视图支架,您需要手动保存可见位置并显示/隐藏它们
-
能否给个示例代码
-
能否添加完整的适配器代码
-
请检查我是否添加了
-
我在下面发布了答案检查