I can not do the following. In general, there is the main MainActivity, in which the list of words from the database (each item in the list consists of TextView and ImageButton ) and WordActivity is output through the custom ListView . WordActivity has an Add / Remove from Favorites button that adds or removes a word from the favorites list. The problem is as follows. If in WordActivity, to delete a word from the list of favorites, and return to MainActivity, then the icon of the ImageButton in the custom ListView the corresponding word does not change. How do I get the icon to change?

 public class WordsAdapter extends BaseAdapter { Context ctx; ArrayList<SingleWord> words; //ΠžΠ±ΡŠΠ΅ΠΊΡ‚ класса SingleWord SingleWord p; //ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ класса WordsAdapter WordsAdapter(Context context, ArrayList<SingleWord> words) { ctx = context; this.words = words; } @Override public int getCount() { return words.size(); } @Override public Object getItem(int position) { return words.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(final int position, View convertView, ViewGroup parent) { //ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Ρ‚ΠΈΠΏΠ° ViewHolder final ViewHolder viewHolder; //Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° SingleWord p = getSingleWord(position); if (convertView == null){ LayoutInflater inflater = (LayoutInflater) ctx .getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(R.layout.item, parent, false); //Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ViewHolder viewHolder = new ViewHolder(); // viewHolder.txtAlphabet = (TextView) convertView.findViewById(R.id.txtAlphabet); viewHolder.txtWord = (TextView) convertView.findViewById(R.id.txtWord); viewHolder.btnFavorites = (ImageButton) convertView.findViewById(R.id.btnFavorites); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } //ВставляСм Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ TextView ΠΈ ImageButton Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· класса SingleWord viewHolder.txtWord.setText(p.word); viewHolder.txtAlphabet.setText(p.alphabet); viewHolder.btnFavorites.setImageResource(p.bntIcon); viewHolder.btnFavorites.setFocusable(false); //ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ favorites ΠΈΠ· класса SingleWord = 1, Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠΊΠΎΠ½ΠΊΠΈ, ΠΈΠ½Π°Ρ‡Π΅ другая if (words.get(position).getFavorites().equals("1")) { viewHolder.btnFavorites.setImageResource(R.drawable.icon_star_yellow); } else if (words.get(position).getFavorites().equals("0")) { viewHolder.btnFavorites.setImageResource(R.drawable.icon_star_outline_black); } //Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠ»ΠΈΠΊΠ° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ "Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΈΠ·Π±Ρ€Π°Π½Π½ΠΎΠ΅" viewHolder.btnFavorites.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String selectedItem = spinner.getSelectedItem().toString(); if (selectedItem.equals("Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ")) { //ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ ΠΎΠΏΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ favorites if (words.get(position).getFavorites().equals("1")) { String wordStr = viewHolder.txtWord.getText().toString(); ContentValues values = new ContentValues(); values.put(SlovarEntry.COLUMN_FAVORITES, "0"); // ВставляСм Π½ΠΎΠ²Ρ‹ΠΉ ряд Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ long newRowId = db.database.update(SlovarEntry.TABLE_RUS, values, SlovarEntry.COLUMN_WORD + "= ?", new String[]{wordStr}); words.get(position).setFavorites("0"); // Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ сообщСниС Π² ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ случаС ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ошибкС if (newRowId == -1) { // Если ID -1, Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка Toast.makeText(ctx, "Ошибка", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(ctx, "Π£Π΄Π°Π»Π΅Π½ΠΎ ΠΈΠ· ΠΈΠ·Π±Ρ€Π°Π½Π½ΠΎΠ΅", Toast.LENGTH_SHORT).show(); viewHolder.btnFavorites.setImageResource(R.drawable.icon_star_outline_black); } } else if (words.get(position).getFavorites().equals("0")){ String wordStr = viewHolder.txtWord.getText().toString(); ContentValues values = new ContentValues(); values.put(SlovarEntry.COLUMN_FAVORITES, "1"); // ВставляСм Π½ΠΎΠ²Ρ‹ΠΉ ряд Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ long newRowId = db.database.update(SlovarEntry.TABLE_RUS, values, SlovarEntry.COLUMN_WORD + "= ?", new String[]{wordStr}); words.get(position).setFavorites("1"); // Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ сообщСниС Π² ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ случаС ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ошибкС if (newRowId == -1) { // Если ID -1, Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка Toast.makeText(ctx, "Ошибка", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(ctx, "Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² ΠΈΠ·Π±Ρ€Π°Π½Π½ΠΎΠ΅", Toast.LENGTH_SHORT).show(); viewHolder.btnFavorites.setImageResource(R.drawable.icon_star_yellow); } } } } }); return convertView; } SingleWord getSingleWord(int position) { return ((SingleWord) getItem(position)); } } static class ViewHolder { TextView txtAlphabet; TextView txtWord; ImageButton btnFavorites; } 

    0