Проведите для просмотра следующей картинки в массиве - PullRequest
0 голосов
/ 21 мая 2019

У меня есть просмотр списка, который отображает записи, которые, когда пользователь нажимает на выбор, отображают изображение во втором действии. Я хотел бы, чтобы пользователи затем могли провести (или нажать кнопку), чтобы просмотреть следующее изображение в массиве. Мой код в настоящее время компилируется и передает изображения в действие imageDisplay. Мне интересно, что мне нужно реализовать, чтобы пользователь мог провести пальцем по экрану или нажать кнопку, чтобы увидеть следующую картинку. У кого-нибудь есть пример кода, который может помочь мне решить эту проблему?

Код ListView:

public class adultcardiaclist extends AppCompatActivity {
    private AdView mAdView;
    ListView listview;


    private int proceduresone[] = {
            R.drawable.procedures1,
            R.drawable.procedures2,
            R.drawable.procedures3,
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_adultcardiaclist);
        MobileAds.initialize(this, "ca-app-pub-9944401739416572~8067453677");

        mAdView = (AdView) findViewById(R.id.adviews);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);

        Button b1 = (Button) findViewById(R.id.homebutton);

        //Home Button-----------------------------------------------------------------------------------------------------
        b1.setOnClickListener(new View.OnClickListener () {

            public void onClick(View view) {
                Intent protocolcata = new Intent(adultcardiaclist.this, HomeScreen.class);
                startActivity(protocolcata);
            }
        });

// myImageList.add(new ImageDisplay("", R.drawable.ekghomepic));

        final Context context = getApplicationContext();

        //list contains image name, image location
        final List<ImageDisplay> myImageList = new ArrayList<ImageDisplay>();
        myImageList.add(new ImageDisplay("Asystole / PEA", proceduresone[1]));
        myImageList.add(new ImageDisplay("Asystole / PEA Page 2", R.drawable.procedures6));
        myImageList.add(new ImageDisplay("Bradycardia", R.drawable.procedures5));

        //define ListView and create onItemClick Listener
        listview = (ListView) findViewById(R.id.adultcardiaclistview);

        ArrayAdapter<ImageDisplay> arrayAdapters = new ArrayAdapter<ImageDisplay>(this, R.layout.support_simple_spinner_dropdown_item, myImageList);
        listview.setAdapter(arrayAdapters);
        listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {
                Intent myIntent = new Intent(context, imagedisplay.class);

                myIntent.putExtra("name", myImageList.get(position).getName());
                myIntent.putExtra("imagePath", myImageList.get(position).getPath());
                startActivityForResult(myIntent, 0);
            }
        });
    }

    public class ImageDisplay {
        private String Name;
        private int Path; // use String if you use a path, in here i'm storing image in drawable

        @Override
        public String toString() {
            return Name;
        }

        public ImageDisplay() {
        }

        public ImageDisplay(String name, int path) {
            this.Name = name;
            this.Path = path;
        }

        public String getName() {
            return Name;
        }

        public void setName(String name) {
            Name = name;
        }

        public int getPath() {
            return Path;
        }

        public void setPath(int path) {
            this.Path = path;
        }
    }
}

Код активности ImageDislay:

public class imagedisplay extends AppCompatActivity {


    private Integer images[] = {R.drawable.procedures1, R.drawable.procedures2, R.drawable.procedures3};
    private int currImage = 0;


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




        ImageView imageView = (ImageView) findViewById(R.id.imageView3);
        Intent myItent = getIntent();

        String Name = myItent.getStringExtra("name"); //Do whatever you need with image title
        int Path = myItent.getIntExtra("imagePath", 0); //pass this to ImageView


        imageView.setImageResource(Path);


        TouchImageView img = new TouchImageView(this);
        img.setImageResource(Path);
        img.setMaxZoom(4f);
        setContentView(img);
    }
    }

1 Ответ

0 голосов
/ 21 мая 2019

Выполните шаги для реализации пролистывания изображения с помощью ViewPager

Шаг 1: Передайте список изображений и положение для работы с изображением через данные намерения.

Шаг 2: Внедрите ViewPager ввоображаемая игровая активность.

Шаг 3: Создайте PagerAdapter и передайте список изображений в адаптер.

Шаг 4: Установите pageradapter на viewpager

...