kofikantis 2020-05-16 13:18 采纳率: 0%
浏览 157

求问红线处怎么改?我想实现图片翻页

import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.arch.lifecycle.Observer;
import android.arch.lifecycle.ViewModelProviders;

import com.example.navigationmenudemo.MainActivity;
import com.example.navigationmenudemo.R;

import java.util.ArrayList;
import java.util.List;

public class GalleryFragment extends Fragment {
ViewPager vp;
private List imagelist;
int [] imageIDs = {R.drawable.one, R.drawable.two,R.drawable.three,R.drawable.four,R.drawable.five};
private PagerAdapter imageAdapter;
private GalleryViewModel galleryViewModel;

public View onCreateView(@NonNull LayoutInflater inflater,
                         ViewGroup container, Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    View square = inflater.inflate(R.layout.fragment_gallery, container, false);
    vp = square.findViewById(R.id.viewpager);
    imagelist = load_image(imageIDs);
    imageAdapter = new PagerAdapter() {
        @Override
        public int getCount() {
            return imagelist.size();
        }

        @Override
        public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
            return view == object;
        }

        @NonNull
        @Override
        public Object instantiateItem(@NonNull ViewGroup container, int position) {
            ImageView iv = imagelist.get(position);
            vp.addView(iv);
            return iv;
        }

        @Override
        public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
            vp.removeView(imagelist.get(position));
        }
    };
    vp.setAdapter(imageAdapter);

    galleryViewModel =
            ViewModelProviders.of(this).get(GalleryViewModel.class);
    View root = inflater.inflate(R.layout.fragment_gallery, container, false);
    galleryViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
        @Override
        public void onChanged(@Nullable String s) {
        }
    });
    return root;
}
public List<ImageView> load_image(int[] images){
    List<ImageView> list = new ArrayList<ImageView>();
    for(int i=0; i<imageIDs.length; i++){
        ImageView iv = new ImageView(this);
        iv.setImageResource(images[i]);
        list.add(iv);
    }
    return list;
}

}

图片说明

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-05-16 17:47
    关注

    ImageView iv = new ImageView(this); (假设this是Content对象)
    看看
    Java似乎不支持命名参数

    评论

报告相同问题?

悬赏问题

  • ¥30 win from 窗口最大最小化,控件放大缩小,闪烁问题
  • ¥20 易康econgnition精度验证
  • ¥15 msix packaging tool打包问题
  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致