From b0cd6a9a476adf6c2c8ca2c88275bccc0004ec4f Mon Sep 17 00:00:00 2001 From: neslihanturan Date: Wed, 10 Jan 2018 01:04:27 +0300 Subject: [PATCH] Add grid view and list adapter --- .../nrw/commons/featured/FeaturedImage.java | 43 ++++++++++++ .../featured/FeaturedImagesActivity.java | 10 ++- .../featured/FeaturedImagesListFragment.java | 29 +++++++- .../commons/featured/MockGridViewAdapter.java | 50 ++++++++++++++ .../res/layout/layout_featured_images.xml | 66 +++++++++++++++++++ 5 files changed, 194 insertions(+), 4 deletions(-) create mode 100644 app/src/main/java/fr/free/nrw/commons/featured/FeaturedImage.java create mode 100644 app/src/main/java/fr/free/nrw/commons/featured/MockGridViewAdapter.java create mode 100644 app/src/main/res/layout/layout_featured_images.xml diff --git a/app/src/main/java/fr/free/nrw/commons/featured/FeaturedImage.java b/app/src/main/java/fr/free/nrw/commons/featured/FeaturedImage.java new file mode 100644 index 000000000..73721897b --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/featured/FeaturedImage.java @@ -0,0 +1,43 @@ +package fr.free.nrw.commons.featured; + +import android.graphics.Bitmap; + +/** + * Created by root on 09.01.2018. + */ + +public class FeaturedImage { + private Bitmap image; + private String author; + private String fileName; + + public FeaturedImage(Bitmap image, String author, String fileName) { + this.image = image; + this.author = author; + this.fileName = fileName; + } + + public Bitmap getImage() { + return image; + } + + public void setImage(Bitmap image) { + this.image = image; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } +} diff --git a/app/src/main/java/fr/free/nrw/commons/featured/FeaturedImagesActivity.java b/app/src/main/java/fr/free/nrw/commons/featured/FeaturedImagesActivity.java index 7a05a9877..cf0afde68 100644 --- a/app/src/main/java/fr/free/nrw/commons/featured/FeaturedImagesActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/featured/FeaturedImagesActivity.java @@ -1,12 +1,16 @@ package fr.free.nrw.commons.featured; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.os.Bundle; import android.support.v4.app.FragmentManager; +import android.widget.GridView; + +import java.util.ArrayList; import butterknife.ButterKnife; import fr.free.nrw.commons.R; import fr.free.nrw.commons.auth.AuthenticatedActivity; -import fr.free.nrw.commons.contributions.ContributionsListFragment; import fr.free.nrw.commons.media.MediaDetailPagerFragment; /** @@ -17,7 +21,7 @@ public class FeaturedImagesActivity extends AuthenticatedActivity implements FragmentManager.OnBackStackChangedListener { - private FeaturedImagesListFragment featuredImagesList; + private FeaturedImagesListFragment featuredImagesListFragment; private MediaDetailPagerFragment mediaDetails; @Override @@ -39,7 +43,7 @@ public class FeaturedImagesActivity // Activity can call methods in the fragment by acquiring a // reference to the Fragment from FragmentManager, using findFragmentById() FragmentManager supportFragmentManager = getSupportFragmentManager(); - featuredImagesList = (FeaturedImagesListFragment)supportFragmentManager + featuredImagesListFragment = (FeaturedImagesListFragment)supportFragmentManager .findFragmentById(R.id.featuedListFragment); supportFragmentManager.addOnBackStackChangedListener(this); diff --git a/app/src/main/java/fr/free/nrw/commons/featured/FeaturedImagesListFragment.java b/app/src/main/java/fr/free/nrw/commons/featured/FeaturedImagesListFragment.java index 2a922e3dd..905e7aa91 100644 --- a/app/src/main/java/fr/free/nrw/commons/featured/FeaturedImagesListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/featured/FeaturedImagesListFragment.java @@ -1,10 +1,16 @@ package fr.free.nrw.commons.featured; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.os.Bundle; +import android.support.annotation.Nullable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; +import android.widget.GridView; + +import java.util.ArrayList; import butterknife.ButterKnife; import dagger.android.support.DaggerFragment; @@ -18,11 +24,32 @@ import static android.view.View.GONE; */ public class FeaturedImagesListFragment extends DaggerFragment { + private GridView gridView; + private MockGridViewAdapter gridAdapter; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View v = inflater.inflate(R.layout.fragment_contributions, container, false); + View v = inflater.inflate(R.layout.fragment_featured_images, container, false); ButterKnife.bind(this, v); return v; } + + @Override + public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + + gridView = (GridView) getView().findViewById(R.id.featuredImagesList); + gridAdapter = new MockGridViewAdapter(this.getContext(), R.layout.layout_featured_images, getMockFeaturedImages()); + gridView.setAdapter(gridAdapter); + + } + + private ArrayList getMockFeaturedImages(){ + ArrayList featuredImages = new ArrayList<>(); + for (int i=0; i<10; i++){ + Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.commons_logo_large); + featuredImages.add(new FeaturedImage(bitmap, "username: test", "test file name")); + } + return featuredImages; + } } diff --git a/app/src/main/java/fr/free/nrw/commons/featured/MockGridViewAdapter.java b/app/src/main/java/fr/free/nrw/commons/featured/MockGridViewAdapter.java new file mode 100644 index 000000000..081495791 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/featured/MockGridViewAdapter.java @@ -0,0 +1,50 @@ +package fr.free.nrw.commons.featured; + +import android.app.Activity; +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.ImageView; +import android.widget.TextView; + +import java.util.ArrayList; + +import fr.free.nrw.commons.R; + +/** + * Created by root on 09.01.2018. + */ + +public class MockGridViewAdapter extends ArrayAdapter { + private Context context; + private int layoutResourceId; + private ArrayList data = new ArrayList(); + + public MockGridViewAdapter(Context context, int layoutResourceId, ArrayList data) { + super(context, layoutResourceId, data); + this.layoutResourceId = layoutResourceId; + this.context = context; + this.data = data; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + + if (convertView == null) { + LayoutInflater inflater = ((Activity) context).getLayoutInflater(); + convertView = inflater.inflate(R.layout.layout_featured_images, null); + } + + FeaturedImage item = data.get(position); + ImageView imageView = (ImageView) convertView.findViewById(R.id.featuredImageView); + TextView fileName = (TextView) convertView.findViewById(R.id.featuredImageTitle); + TextView author = (TextView) convertView.findViewById(R.id.featuredImageAuthor); + fileName.setText("Test file name"); + author.setText("Uploaded by: Test user name"); + imageView.setImageBitmap(item.getImage()); + return convertView; + } + +} \ No newline at end of file diff --git a/app/src/main/res/layout/layout_featured_images.xml b/app/src/main/res/layout/layout_featured_images.xml new file mode 100644 index 000000000..cabbe629f --- /dev/null +++ b/app/src/main/res/layout/layout_featured_images.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + \ No newline at end of file