После элемента ListView Щелкните, затем откройте следующее действие в соответствии с этими данными. Ползунок изображения на ViewPager. - PullRequest
0 голосов
/ 06 января 2020

У меня есть некоторые данные в listview в этих данных, когда по элементу щелкают, используя OnItemClickListener, после этого используя Hashmap Я передал данные в Image_details активность

Intent intent = new Intent(this, Image_Details.class);

В моем Image_Details класс должен отображать данные и Image показывать слайды, используя ViewPager

Вот мой код:

 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    Intent intent = new Intent(this, Image_Details.class);
    HashMap<String,String> map =(HashMap)parent.getItemAtPosition(position);
    String id1 = map.get("id1").toString();
    String comment = map.get("comment").toString();
    String qualification = map.get("qualification").toString();
    String Image = map.get("Image").toString();

    intent.putExtra("id1",id1);
    intent.putExtra("comment",comment);
    intent.putExtra("qualification",qualification);
    intent.putExtra("Images",Images);

    startActivity(intent);

в Image_Details

        @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.image_details);

    sliderImg = new ArrayList<>();

    viewPager = (ViewPager) findViewById(R.id.viewPager);

    Intent intent = getIntent();
    itemId = intent.getStringExtra("id1");
    Name = intent.getStringExtra("comment");
    Date = intent.getStringExtra("qualification");
    Image1 = intent.getStringExtra("Images");

есть любой способ отображения этих изображений для отображения в Viewpager

1 Ответ

0 голосов
/ 06 января 2020

Это можно сделать с помощью адаптера ViewPager

slide_item. xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
    android:id="@+id/tv_name"
    android:text="Enamul Haque"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

<ImageView
    android:id="@+id/slider_image_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

</LinearLayout>

ViewPagerAdapter

public class SliderAdapter extends PagerAdapter {

 Context context;
 ArrayList<String> imageList;


 public SliderAdapter(Context context, ArrayList<String> imageList) {
    this.context = context;
    this.imageList = imageList;
 }

 @Override
 public int getCount() {
    return imageList.size();
 }

 @Override
 public boolean isViewFromObject(View view, Object object) {

    return view == object;
 }

 @Override
 public Object instantiateItem(ViewGroup container, int position) {

    ImageView imageView;
    TextView tv_name;

    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    View itemView = inflater.inflate(R.layout.slider_item,container,false);

    imageView = itemView.findViewById(R.id.slider_image_view);
    tv_name = itemView.findViewById(R.id.tv_name);

    Picasso.get()
            .load(imageList.get(position))
            .centerCrop()
            .resize(200, 100)
            .into(imageView);

    container.addView(itemView);

    tv_name.setText("Set New Name... for every side");

    return itemView;

 }

 @Override
 public void destroyItem(ViewGroup container, int position, Object object) {
    container.removeView((LinearLayout) object);
 }
}

Слышу, я использую ArrayList для передачи URL-адресов изображений и используйте Picasso для загрузки изображения в режиме просмотра изображений. Вы можете использовать другое по своему усмотрению.

Gradle Picassa:

implementation 'com.squareup.picasso:picasso:2.71828'

установить изображение в viewpager для скольжения

    ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager_slider);

    ArrayList<String> list = new ArrayList<>();
    list.add("https://upload.wikimedia.org/wikipedia/commons/b/b6/Image_created_with_a_mobile_phone.png");
    list.add("https://upload.wikimedia.org/wikipedia/commons/3/33/Tourism_in_London795.jpg");
    list.add("https://upload.wikimedia.org/wikipedia/commons/b/b6/Image_created_with_a_mobile_phone.png");

    viewPager.setAdapter(new SliderAdapter(MainActivity.this,list));

Теперь как ваш старший: передавать изображения как массив к Image_Detils деятельности. Затем вызовите viewpager как мой пример ...

...