Created
November 6, 2021 17:17
-
-
Save codinginflow/76bf2ff4156645cd0a02cba1360a878d to your computer and use it in GitHub Desktop.
RecyclerView + Volley + Picasso Tutorial Part 3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
xmlns:app="http://schemas.android.com/apk/res-auto" | |
xmlns:tools="http://schemas.android.com/tools" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent" | |
tools:context="com.codinginflow.recylerviewjsonexample.MainActivity"> | |
<android.support.v7.widget.RecyclerView | |
android:id="@+id/recycler_view" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent" | |
android:background="@android:color/darker_gray" /> | |
</RelativeLayout> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | |
package="com.codinginflow.recylerviewjsonexample"> | |
<uses-permission android:name="android.permission.INTERNET" /> | |
<application | |
android:allowBackup="true" | |
android:icon="@mipmap/ic_launcher" | |
android:label="@string/app_name" | |
android:roundIcon="@mipmap/ic_launcher_round" | |
android:supportsRtl="true" | |
android:theme="@style/AppTheme"> | |
<activity android:name=".MainActivity"> | |
<intent-filter> | |
<action android:name="android.intent.action.MAIN" /> | |
<category android:name="android.intent.category.LAUNCHER" /> | |
</intent-filter> | |
</activity> | |
</application> | |
</manifest> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" | |
xmlns:app="http://schemas.android.com/apk/res-auto" | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
android:layout_margin="8dp" | |
app:cardCornerRadius="8dp"> | |
<LinearLayout | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
android:orientation="vertical" | |
android:padding="16dp"> | |
<ImageView | |
android:id="@+id/image_view" | |
android:layout_width="match_parent" | |
android:layout_height="200dp" | |
android:src="@mipmap/ic_launcher" /> | |
<TextView | |
android:id="@+id/text_view_creator" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:text="Creator Name" | |
android:textColor="@android:color/black" | |
android:textSize="20sp" /> | |
<TextView | |
android:id="@+id/text_view_likes" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:text="Like: " /> | |
</LinearLayout> | |
</android.support.v7.widget.CardView> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.codinginflow.recylerviewjsonexample; | |
import android.content.Context; | |
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; | |
import com.squareup.picasso.Picasso; | |
import java.util.ArrayList; | |
public class ExampleAdapter extends RecyclerView.Adapter<ExampleAdapter.ExampleViewHolder> { | |
private Context mContext; | |
private ArrayList<ExampleItem> mExampleList; | |
public ExampleAdapter(Context context, ArrayList<ExampleItem> exampleList) { | |
mContext = context; | |
mExampleList = exampleList; | |
} | |
@Override | |
public ExampleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { | |
View v = LayoutInflater.from(mContext).inflate(R.layout.example_item, parent, false); | |
return new ExampleViewHolder(v); | |
} | |
@Override | |
public void onBindViewHolder(ExampleViewHolder holder, int position) { | |
ExampleItem currentItem = mExampleList.get(position); | |
String imageUrl = currentItem.getImageUrl(); | |
String creatorName = currentItem.getCreator(); | |
int likeCount = currentItem.getLikeCount(); | |
holder.mTextViewCreator.setText(creatorName); | |
holder.mTextViewLikes.setText("Likes: " + likeCount); | |
Picasso.with(mContext).load(imageUrl).fit().centerInside().into(holder.mImageView); | |
} | |
@Override | |
public int getItemCount() { | |
return mExampleList.size(); | |
} | |
public class ExampleViewHolder extends RecyclerView.ViewHolder { | |
public ImageView mImageView; | |
public TextView mTextViewCreator; | |
public TextView mTextViewLikes; | |
public ExampleViewHolder(View itemView) { | |
super(itemView); | |
mImageView = itemView.findViewById(R.id.image_view); | |
mTextViewCreator = itemView.findViewById(R.id.text_view_creator); | |
mTextViewLikes = itemView.findViewById(R.id.text_view_likes); | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.codinginflow.recylerviewjsonexample; | |
public class ExampleItem { | |
private String mImageUrl; | |
private String mCreator; | |
private int mLikes; | |
public ExampleItem(String imageUrl, String creator, int likes) { | |
mImageUrl = imageUrl; | |
mCreator = creator; | |
mLikes = likes; | |
} | |
public String getImageUrl() { | |
return mImageUrl; | |
} | |
public String getCreator() { | |
return mCreator; | |
} | |
public int getLikeCount() { | |
return mLikes; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment