diff --git a/android-recyclerview/AndroidManifest.xml b/android-recyclerview/AndroidManifest.xml new file mode 100644 index 0000000..f4e963a --- /dev/null +++ b/android-recyclerview/AndroidManifest.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + diff --git a/android-recyclerview/libs/classes.jar b/android-recyclerview/libs/classes.jar new file mode 100644 index 0000000..1786ede Binary files /dev/null and b/android-recyclerview/libs/classes.jar differ diff --git a/android-recyclerview/res/drawable-hdpi/border.xml b/android-recyclerview/res/drawable-hdpi/border.xml new file mode 100644 index 0000000..4e494a8 --- /dev/null +++ b/android-recyclerview/res/drawable-hdpi/border.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/android-recyclerview/res/drawable-hdpi/collections_cloud.png b/android-recyclerview/res/drawable-hdpi/collections_cloud.png new file mode 100644 index 0000000..d74c756 Binary files /dev/null and b/android-recyclerview/res/drawable-hdpi/collections_cloud.png differ diff --git a/android-recyclerview/res/drawable-hdpi/content_discard.png b/android-recyclerview/res/drawable-hdpi/content_discard.png new file mode 100644 index 0000000..98c73da Binary files /dev/null and b/android-recyclerview/res/drawable-hdpi/content_discard.png differ diff --git a/android-recyclerview/res/drawable-hdpi/help.png b/android-recyclerview/res/drawable-hdpi/help.png new file mode 100644 index 0000000..0e67d7c Binary files /dev/null and b/android-recyclerview/res/drawable-hdpi/help.png differ diff --git a/android-recyclerview/res/drawable-hdpi/ic_launcher.png b/android-recyclerview/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000..288b665 Binary files /dev/null and b/android-recyclerview/res/drawable-hdpi/ic_launcher.png differ diff --git a/android-recyclerview/res/drawable-hdpi/rating_favorite.png b/android-recyclerview/res/drawable-hdpi/rating_favorite.png new file mode 100644 index 0000000..e6acafd Binary files /dev/null and b/android-recyclerview/res/drawable-hdpi/rating_favorite.png differ diff --git a/android-recyclerview/res/drawable-hdpi/rating_good.png b/android-recyclerview/res/drawable-hdpi/rating_good.png new file mode 100644 index 0000000..225eaea Binary files /dev/null and b/android-recyclerview/res/drawable-hdpi/rating_good.png differ diff --git a/android-recyclerview/res/drawable-hdpi/rating_important.png b/android-recyclerview/res/drawable-hdpi/rating_important.png new file mode 100644 index 0000000..da44dd8 Binary files /dev/null and b/android-recyclerview/res/drawable-hdpi/rating_important.png differ diff --git a/android-recyclerview/res/layout/activity_main.xml b/android-recyclerview/res/layout/activity_main.xml new file mode 100644 index 0000000..58f5b76 --- /dev/null +++ b/android-recyclerview/res/layout/activity_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/android-recyclerview/res/layout/item_layout.xml b/android-recyclerview/res/layout/item_layout.xml new file mode 100644 index 0000000..7ceabce --- /dev/null +++ b/android-recyclerview/res/layout/item_layout.xml @@ -0,0 +1,35 @@ + + + + + + + + + + \ No newline at end of file diff --git a/android-recyclerview/src/com/hmkcode/android/recyclerview/ItemData.java b/android-recyclerview/src/com/hmkcode/android/recyclerview/ItemData.java new file mode 100644 index 0000000..3c9bc9d --- /dev/null +++ b/android-recyclerview/src/com/hmkcode/android/recyclerview/ItemData.java @@ -0,0 +1,32 @@ +package com.hmkcode.android.recyclerview; + +public class ItemData { + + + private String title; + private int imageUrl; + + public ItemData(String title,int imageUrl){ + + this.title = title; + this.imageUrl = imageUrl; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public int getImageUrl() { + return imageUrl; + } + + public void setImageUrl(int imageUrl) { + this.imageUrl = imageUrl; + } + + +} diff --git a/android-recyclerview/src/com/hmkcode/android/recyclerview/MainActivity.java b/android-recyclerview/src/com/hmkcode/android/recyclerview/MainActivity.java new file mode 100644 index 0000000..3e58076 --- /dev/null +++ b/android-recyclerview/src/com/hmkcode/android/recyclerview/MainActivity.java @@ -0,0 +1,34 @@ +package com.hmkcode.android.recyclerview; + +import android.support.v7.widget.DefaultItemAnimator; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.app.Activity; +import android.os.Bundle; + +public class MainActivity extends Activity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView); + + + ItemData itemsData[] = { new ItemData("Help",R.drawable.help), + new ItemData("Delete",R.drawable.content_discard), + new ItemData("Cloud",R.drawable.collections_cloud), + new ItemData("Favorite",R.drawable.rating_favorite), + new ItemData("Like",R.drawable.rating_good), + new ItemData("Rating",R.drawable.rating_important)}; + + + recyclerView.setLayoutManager(new LinearLayoutManager(this)); + + MyAdapter mAdapter = new MyAdapter(itemsData); + recyclerView.setAdapter(mAdapter); + recyclerView.setItemAnimator(new DefaultItemAnimator()); + + } +} diff --git a/android-recyclerview/src/com/hmkcode/android/recyclerview/MyAdapter.java b/android-recyclerview/src/com/hmkcode/android/recyclerview/MyAdapter.java new file mode 100644 index 0000000..51d4f53 --- /dev/null +++ b/android-recyclerview/src/com/hmkcode/android/recyclerview/MyAdapter.java @@ -0,0 +1,66 @@ +package com.hmkcode.android.recyclerview; + +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; + +public class MyAdapter extends RecyclerView.Adapter { + private ItemData[] itemsData; + + public MyAdapter(ItemData[] itemsData) { + this.itemsData = itemsData; + } + + // Create new views (invoked by the layout manager) + @Override + public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, + int viewType) { + // create a new view + View itemLayoutView = LayoutInflater.from(parent.getContext()) + .inflate(R.layout.item_layout, null); + + // create ViewHolder + + ViewHolder viewHolder = new ViewHolder(itemLayoutView); + return viewHolder; + } + + // Replace the contents of a view (invoked by the layout manager) + @Override + public void onBindViewHolder(ViewHolder viewHolder, int position) { + + // - get data from your itemsData at this position + // - replace the contents of the view with that itemsData + + viewHolder.txtViewTitle.setText(itemsData[position].getTitle()); + viewHolder.imgViewIcon.setImageResource(itemsData[position].getImageUrl()); + + + } + + // inner class to hold a reference to each item of RecyclerView + public static class ViewHolder extends RecyclerView.ViewHolder { + + public TextView txtViewTitle; + public ImageView imgViewIcon; + + public ViewHolder(View itemLayoutView) { + super(itemLayoutView); + txtViewTitle = (TextView) itemLayoutView.findViewById(R.id.item_title); + imgViewIcon = (ImageView) itemLayoutView.findViewById(R.id.item_icon); + } + } + + + + + + // Return the size of your itemsData (invoked by the layout manager) + @Override + public int getItemCount() { + return itemsData.length; + } +} \ No newline at end of file