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;
}
}