Как добавить изображения в просмотр списка, который пользователь выбирает из вида сетки. Я думаю, что есть проблема со списком массивов animalNewList - PullRequest
0 голосов
/ 06 ноября 2018

«Я не могу добавить изображения в animalNewList при просмотре в виде сетки»

package com.example.a300287031.lec7_gridview;  


import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.Toast;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    GridView myGridView;
    //GridView myGridView = (GridView)findViewById(R.id.grdViewItems);
    ArrayList<Integer> animalList = new ArrayList<>();
    ArrayList<String> animalDescList = new ArrayList<>();
    ArrayList<Integer> animalNewList = new ArrayList<>();
   Toast prevToast;
   ListView myList;

    public void addItems()
    {
        animalDescList.add("Eagle");
        animalList.add(R.drawable.eagle);
        animalDescList.add("Elephant");
        animalList.add(R.drawable.elephant);
        animalDescList.add("Panda");
        animalList.add(R.drawable.panda);
        animalDescList.add("Panther");
        animalList.add(R.drawable.panther);
        animalDescList.add("Polar");
        animalList.add(R.drawable.polar);
        animalDescList.add("Gorilla");
        animalList.add(R.drawable.gorilla);
    }




    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        myList=findViewById(R.id.listViewSelectedItems);
        myGridView = (GridView)findViewById(R.id.grdViewItems);
        addItems();

        ImageAdapter myAdapter = new ImageAdapter(animalList,this);
        myGridView.setAdapter(myAdapter);

        final ImageView imgLarge = (ImageView)findViewById(R.id.imageViewItem);MyCustomAdapter(animalNewList,this);






        myGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                imgLarge.setImageResource(animalList.get(position));

                if (prevToast != null)
                {
                    prevToast.cancel();
                }
                Toast myToast = Toast.makeText(MainActivity.this,animalDescList.get(position),Toast.LENGTH_LONG);
                myToast.show();

Здесь я пытаюсь добавить изображения, выбранные пользователем, в новый список. Я думаю, что они добавляют к этому:

                animalNewList.add(animalList.get(position));

                prevToast = myToast;


            }
        });

Я устанавливаю здесь адаптер, который должен содержать массив, в котором есть только выбранные пользователем изображения из gridview, но он не работает. Если я попытаюсь добавить другой список, в котором уже есть изображения, он будет работать.

        myList.setAdapter(new MyCustomAdapter(animalNewList,this));


    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...