У меня есть просмотр списка с просмотром текста и кнопкой.
Мне нужно обновить просмотр текста при нажатии кнопки в просмотре списка и скрыть кнопку.
Когда я нажимаю кнопку,это обновляет значение textview.Но когда я прокручиваю вниз и возвращаюсь назад, содержимое текстового представления возвращается к предыдущему значению, и кнопка становится видимой.
Customadapter.java
public class CustomAdapter extends BaseAdapter {
ArrayList cusList = new ArrayList();
LayoutInflater inflater;
Context context;
public BookAdapter(Context context, ArrayList cusList) {
this.cusList = cusList;
this.context = context;
inflater = LayoutInflater.from(this.context);
}
@Override
public int getCount() {
return cusList.size();
}
@Override
public Object getItem(int position) {
return cusList.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder viewHolder;
if (convertView == null) {
convertView = inflater.inflate(R.layout.list, parent, false);
viewHolder = new ViewHolder(convertView);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
Bookdata data = (Bookdata) getItem(position);
viewHolder.mytv.setText(data.getName());
viewHolder.mybtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setVisibility(View.GONE);
viewHolder.setText("Clicked");
}
});
return convertView;
}
private class ViewHolder {
TextView mytv;
Button mybtn;
public ViewHolder(View item) {
mytv = (TextView)item.findViewById(R.id.mytv);
mybtn = (Button)item.findViewById(R.id.mybtn);
}
}
}
Bookdata.java
public class Bookdata {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Код списка:
ListView books= (ListView) findViewById(R.id.books);
ArrayList bookList = new ArrayList();
for (int i = 0; i < 10; i++) {
Bookdata data = new Bookdata();
data.setName("position "+i);
bookList.add(data);
}
CustomAdapter allbookAda= new CustomAdapter(context, bookList);
books.setAdapter(allbookAda);
allbookAda.notifyDataSetChanged();