I have a ListView and i set an alert dialog to change text when button clicked by setText to a new Edittext and then setView on alertdialog for this edittext
when i click button alertdialog show and i can change text in list
but when I scroll page , changed text back to text that I set in on MainActivity
My Adapter code
public class AdapterItem extends BaseAdapter {
private Context mContext;
private ArrayList<ItemModel> mItemModels;
public AdapterItem(Context context, ArrayList<ItemModel> list) {
this.mContext = context;
this.mItemModels = list;
}
@Override
public int getCount() {
return mItemModels.size();
}
@Override
public Object getItem(int position) {
return mItemModels.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View view, ViewGroup viewGroup) {
if (view == null) {
view = LayoutInflater.from(mContext).inflate(R.layout.item_simple_listview, viewGroup, false);
}
ItemModel item = (ItemModel) getItem(position);
ImageButton imageButton = view.findViewById(R.id.imageButton);
TextView text1 = view.findViewById(R.id.textViewONe);
ImageView image = view.findViewById(R.id.imageViewItem);
text1.setText(item.getTextOne());
image.setImageResource(item.getImageView());
final View finalView = view;
imageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final EditText userinput = new EditText(mContext);
new AlertDialog.Builder(mContext).setTitle("Change Text")
.setMessage("Input Your Own Text").setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
TextView text1 = finalView.findViewById(R.id.textViewONe);
text1.setText(userinput.getText());
}
})
.setCancelable(true).setView(userinput).create().show();
}
});
return view;
}}