Я создал список Listview, заполненный с помощью list_row_layout.xml (который заполнен сериализуемым классом json), у меня есть интерактивное текстовое представление и onclick изменение текста с «Accept» на «Accepted». Но когда я нажимаю его на первом элементе listview, меняются другие элементы списка просмотра textview ниже. Вот некоторые фотографии, чтобы описав вам лучшеAndroid Viewview clickable textview
это класс адаптера
public class CustomListAdapter extends BaseAdapter {
private ArrayList<FeedItem> listData;
private LayoutInflater layoutInflater;
private Context mContext;
public CustomListAdapter(Context context, ArrayList<FeedItem> listData) {
this.listData = listData;
layoutInflater = LayoutInflater.from(context);
mContext = context;
}
@Override
public int getCount() {
return listData.size();
}
@Override
public Object getItem(int position) {
return listData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
convertView = layoutInflater.inflate(R.layout.list_row_layout, null);
holder = new ViewHolder();
holder.headlineView = (TextView)convertView.findViewById(R.id.sex);
holder.reportedDateView = (TextView) convertView.findViewById(R.id.confid);
holder.approve = (TextView) convertView.findViewById(R.id.approveTV);
holder.approve.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View argView)
{
holder.approve.setText("Accepted");
}
}
);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
FeedItem newsItem = (FeedItem) listData.get(position);
holder.headlineView.setText(Html.fromHtml(newsItem.getTitle()));
holder.reportedDateView.setText(Html.fromHtml(newsItem.getContent()));
return convertView;
}
static class ViewHolder {
TextView approve;
TextView headlineView;
TextView reportedDateView;
ImageView imageView;
}
}
вид переработки. измените данные в модели, а не в представлении. – njzk2
@ njzk2 Есть ли какая-то особая причина, по которой вы добавили комментарий, который просто перекликается с ответом, который я уже дал? –
На самом деле, не прокручивался до вашего ответа в то время. Я в основном написал этот комментарий в качестве напоминания в случае, если я захотел в какой-то момент вникать в фактический ответ. – njzk2