Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
InstiApp
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
RAHUL SHARMA
InstiApp
Commits
741d5317
Commit
741d5317
authored
Oct 06, 2019
by
unstablebrainiac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Generify RecyclerView Adapters
parent
9859862d
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
132 additions
and
185 deletions
+132
-185
app/src/main/java/app/insti/adapter/NewsAdapter.java
app/src/main/java/app/insti/adapter/NewsAdapter.java
+17
-69
app/src/main/java/app/insti/adapter/PlacementBlogAdapter.java
...src/main/java/app/insti/adapter/PlacementBlogAdapter.java
+15
-58
app/src/main/java/app/insti/adapter/RecyclerViewAdapter.java
app/src/main/java/app/insti/adapter/RecyclerViewAdapter.java
+85
-0
app/src/main/java/app/insti/adapter/TrainingBlogAdapter.java
app/src/main/java/app/insti/adapter/TrainingBlogAdapter.java
+15
-58
No files found.
app/src/main/java/app/insti/adapter/NewsAdapter.java
View file @
741d5317
...
@@ -25,64 +25,30 @@ import app.insti.interfaces.Readable;
...
@@ -25,64 +25,30 @@ import app.insti.interfaces.Readable;
import
app.insti.interfaces.Writable
;
import
app.insti.interfaces.Writable
;
import
ru.noties.markwon.Markwon
;
import
ru.noties.markwon.Markwon
;
public
class
NewsAdapter
extends
RecyclerView
.
Adapter
<
RecyclerView
.
ViewHolder
>
implements
Readable
<
NewsArticle
>,
Writable
<
NewsArticle
>
{
public
class
NewsAdapter
extends
RecyclerViewAdapter
<
NewsArticle
>
{
private
final
int
VIEW_ITEM
=
1
;
private
final
int
VIEW_PROG
=
0
;
private
List
<
NewsArticle
>
newsArticles
;
public
NewsAdapter
(
List
<
NewsArticle
>
posts
,
ItemClickListener
itemClickListener
)
{
private
ItemClickListener
itemClickListener
;
super
(
posts
,
itemClickListener
);
public
NewsAdapter
(
List
<
NewsArticle
>
newsArticles
,
ItemClickListener
itemClickListener
)
{
this
.
newsArticles
=
newsArticles
;
this
.
itemClickListener
=
itemClickListener
;
this
.
setHasStableIds
(
true
);
}
}
@Override
@Override
public
List
<
NewsArticle
>
getPosts
(
)
{
RecyclerView
.
ViewHolder
getViewHolder
(
@NonNull
ViewGroup
parent
,
Context
context
)
{
return
newsArticles
;
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
)
;
}
View
postView
=
inflater
.
inflate
(
R
.
layout
.
news_article_card
,
parent
,
false
);
@Override
final
NewsAdapter
.
ViewHolder
postViewHolder
=
new
NewsAdapter
.
ViewHolder
(
postView
);
public
void
setPosts
(
List
<
NewsArticle
>
posts
)
{
View
.
OnClickListener
clickListener
=
v
->
itemClickListener
.
onItemClick
(
v
,
postViewHolder
.
getAdapterPosition
());
this
.
newsArticles
=
posts
;
postView
.
setOnClickListener
(
clickListener
)
;
}
postViewHolder
.
articleContent
.
setOnClickListener
(
clickListener
);
@NonNull
return
postViewHolder
;
@Override
public
RecyclerView
.
ViewHolder
onCreateViewHolder
(
@NonNull
ViewGroup
parent
,
int
viewType
)
{
final
Context
context
=
parent
.
getContext
();
if
(
viewType
==
VIEW_ITEM
)
{
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
View
postView
=
inflater
.
inflate
(
R
.
layout
.
news_article_card
,
parent
,
false
);
final
NewsAdapter
.
ViewHolder
postViewHolder
=
new
NewsAdapter
.
ViewHolder
(
postView
);
postView
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
itemClickListener
.
onItemClick
(
v
,
postViewHolder
.
getAdapterPosition
());
}
});
postViewHolder
.
articleContent
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
itemClickListener
.
onItemClick
(
v
,
postViewHolder
.
getAdapterPosition
());
}
});
return
postViewHolder
;
}
else
{
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
View
loadView
=
inflater
.
inflate
(
R
.
layout
.
blog_load_item
,
parent
,
false
);
return
new
NewsAdapter
.
ProgressViewHolder
(
loadView
);
}
}
}
@Override
@Override
public
void
onBindViewHolder
(
@NonNull
RecyclerView
.
ViewHolder
recyclerHolder
,
int
position
)
{
public
void
onBindViewHolder
(
@NonNull
RecyclerView
.
ViewHolder
recyclerHolder
,
int
position
)
{
if
(
recyclerHolder
instanceof
ViewHolder
)
{
if
(
recyclerHolder
instanceof
ViewHolder
)
{
ViewHolder
holder
=
(
ViewHolder
)
recyclerHolder
;
ViewHolder
holder
=
(
ViewHolder
)
recyclerHolder
;
NewsArticle
article
=
newsArticles
.
get
(
position
);
NewsArticle
article
=
getPosts
()
.
get
(
position
);
Markwon
.
setMarkdown
(
holder
.
articleTitle
,
article
.
getTitle
());
Markwon
.
setMarkdown
(
holder
.
articleTitle
,
article
.
getTitle
());
holder
.
articleBody
.
setText
(
article
.
getBody
().
getBodyName
());
holder
.
articleBody
.
setText
(
article
.
getBody
().
getBodyName
());
...
@@ -103,30 +69,12 @@ public class NewsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> i
...
@@ -103,30 +69,12 @@ public class NewsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> i
}
}
}
}
@Override
public
int
getItemViewType
(
int
position
)
{
return
newsArticles
.
size
()
>
position
?
VIEW_ITEM
:
VIEW_PROG
;
}
@Override
public
long
getItemId
(
int
position
)
{
if
(
position
<
newsArticles
.
size
())
{
return
newsArticles
.
get
(
position
).
getArticleID
().
hashCode
();
}
return
-
1
;
}
@Override
public
int
getItemCount
()
{
return
NewsFragment
.
showLoader
?
(
newsArticles
.
size
()
+
1
)
:
newsArticles
.
size
();
}
public
static
class
ProgressViewHolder
extends
RecyclerView
.
ViewHolder
{
public
static
class
ProgressViewHolder
extends
RecyclerView
.
ViewHolder
{
public
ProgressBar
progressBar
;
public
ProgressBar
progressBar
;
public
ProgressViewHolder
(
View
v
)
{
public
ProgressViewHolder
(
View
v
)
{
super
(
v
);
super
(
v
);
progressBar
=
(
ProgressBar
)
v
.
findViewById
(
R
.
id
.
blog_load_item
);
progressBar
=
v
.
findViewById
(
R
.
id
.
blog_load_item
);
}
}
}
}
...
@@ -139,10 +87,10 @@ public class NewsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> i
...
@@ -139,10 +87,10 @@ public class NewsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> i
public
ViewHolder
(
View
itemView
)
{
public
ViewHolder
(
View
itemView
)
{
super
(
itemView
);
super
(
itemView
);
articleTitle
=
(
TextView
)
itemView
.
findViewById
(
R
.
id
.
article_title
);
articleTitle
=
itemView
.
findViewById
(
R
.
id
.
article_title
);
articleBody
=
(
TextView
)
itemView
.
findViewById
(
R
.
id
.
article_body
);
articleBody
=
itemView
.
findViewById
(
R
.
id
.
article_body
);
articlePublished
=
(
TextView
)
itemView
.
findViewById
(
R
.
id
.
article_published
);
articlePublished
=
itemView
.
findViewById
(
R
.
id
.
article_published
);
articleContent
=
(
TextView
)
itemView
.
findViewById
(
R
.
id
.
article_content
);
articleContent
=
itemView
.
findViewById
(
R
.
id
.
article_content
);
}
}
}
}
}
}
app/src/main/java/app/insti/adapter/PlacementBlogAdapter.java
View file @
741d5317
...
@@ -7,6 +7,7 @@ import android.view.ViewGroup;
...
@@ -7,6 +7,7 @@ import android.view.ViewGroup;
import
android.widget.ProgressBar
;
import
android.widget.ProgressBar
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
java.text.DateFormat
;
import
java.text.DateFormat
;
...
@@ -24,63 +25,27 @@ import app.insti.interfaces.Readable;
...
@@ -24,63 +25,27 @@ import app.insti.interfaces.Readable;
import
app.insti.interfaces.Writable
;
import
app.insti.interfaces.Writable
;
import
ru.noties.markwon.Markwon
;
import
ru.noties.markwon.Markwon
;
public
class
PlacementBlogAdapter
extends
RecyclerView
.
Adapter
<
RecyclerView
.
ViewHolder
>
implements
Readable
<
PlacementBlogPost
>,
Writable
<
PlacementBlogPost
>
{
public
class
PlacementBlogAdapter
extends
RecyclerViewAdapter
<
PlacementBlogPost
>
{
private
final
int
VIEW_ITEM
=
1
;
private
final
int
VIEW_PROG
=
0
;
private
List
<
PlacementBlogPost
>
posts
;
private
ItemClickListener
itemClickListener
;
public
PlacementBlogAdapter
(
List
<
PlacementBlogPost
>
posts
,
ItemClickListener
itemClickListener
)
{
this
.
posts
=
posts
;
this
.
itemClickListener
=
itemClickListener
;
this
.
setHasStableIds
(
true
);
}
public
List
<
PlacementBlogPost
>
getPosts
()
{
public
PlacementBlogAdapter
(
List
<
PlacementBlogPost
>
posts
,
ItemClickListener
itemClickListener
)
{
return
posts
;
super
(
posts
,
itemClickListener
);
}
public
void
setPosts
(
List
<
PlacementBlogPost
>
posts
)
{
this
.
posts
=
posts
;
}
@Override
public
RecyclerView
.
ViewHolder
onCreateViewHolder
(
ViewGroup
parent
,
int
viewType
)
{
final
Context
context
=
parent
.
getContext
();
if
(
viewType
==
VIEW_ITEM
)
{
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
View
postView
=
inflater
.
inflate
(
R
.
layout
.
blog_post_card
,
parent
,
false
);
final
PlacementBlogAdapter
.
ViewHolder
postViewHolder
=
new
PlacementBlogAdapter
.
ViewHolder
(
postView
);
postView
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
itemClickListener
.
onItemClick
(
v
,
postViewHolder
.
getAdapterPosition
());
}
});
return
postViewHolder
;
}
else
{
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
View
loadView
=
inflater
.
inflate
(
R
.
layout
.
blog_load_item
,
parent
,
false
);
return
new
PlacementBlogAdapter
.
ProgressViewHolder
(
loadView
);
}
}
}
@Override
@Override
public
int
getItemViewType
(
int
position
)
{
RecyclerView
.
ViewHolder
getViewHolder
(
@NonNull
ViewGroup
parent
,
Context
context
)
{
return
posts
.
size
()
>
position
?
VIEW_ITEM
:
VIEW_PROG
;
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
)
;
}
View
postView
=
inflater
.
inflate
(
R
.
layout
.
blog_post_card
,
parent
,
false
);
@Override
final
PlacementBlogAdapter
.
ViewHolder
postViewHolder
=
new
PlacementBlogAdapter
.
ViewHolder
(
postView
);
public
int
getItemCount
()
{
postView
.
setOnClickListener
(
v
->
itemClickListener
.
onItemClick
(
v
,
postViewHolder
.
getAdapterPosition
()));
return
PlacementBlogFragment
.
showLoader
?
(
posts
.
size
()
+
1
)
:
posts
.
size
()
;
return
postViewHolder
;
}
}
@Override
@Override
public
void
onBindViewHolder
(
RecyclerView
.
ViewHolder
recyclerHolder
,
int
position
)
{
public
void
onBindViewHolder
(
RecyclerView
.
ViewHolder
recyclerHolder
,
int
position
)
{
if
(
recyclerHolder
instanceof
ViewHolder
)
{
if
(
recyclerHolder
instanceof
ViewHolder
)
{
ViewHolder
holder
=
(
ViewHolder
)
recyclerHolder
;
ViewHolder
holder
=
(
ViewHolder
)
recyclerHolder
;
PlacementBlogPost
post
=
posts
.
get
(
position
);
PlacementBlogPost
post
=
getPosts
()
.
get
(
position
);
Markwon
.
setMarkdown
(
holder
.
postTitle
,
post
.
getTitle
());
Markwon
.
setMarkdown
(
holder
.
postTitle
,
post
.
getTitle
());
Date
publishedDate
=
post
.
getPublished
();
Date
publishedDate
=
post
.
getPublished
();
...
@@ -100,20 +65,12 @@ public class PlacementBlogAdapter extends RecyclerView.Adapter<RecyclerView.View
...
@@ -100,20 +65,12 @@ public class PlacementBlogAdapter extends RecyclerView.Adapter<RecyclerView.View
}
}
}
}
@Override
public
long
getItemId
(
int
position
)
{
if
(
position
<
posts
.
size
())
{
return
posts
.
get
(
position
).
getPostID
().
hashCode
();
}
return
-
1
;
}
public
static
class
ProgressViewHolder
extends
RecyclerView
.
ViewHolder
{
public
static
class
ProgressViewHolder
extends
RecyclerView
.
ViewHolder
{
public
ProgressBar
progressBar
;
public
ProgressBar
progressBar
;
public
ProgressViewHolder
(
View
v
)
{
public
ProgressViewHolder
(
View
v
)
{
super
(
v
);
super
(
v
);
progressBar
=
(
ProgressBar
)
v
.
findViewById
(
R
.
id
.
blog_load_item
);
progressBar
=
v
.
findViewById
(
R
.
id
.
blog_load_item
);
}
}
}
}
...
@@ -125,9 +82,9 @@ public class PlacementBlogAdapter extends RecyclerView.Adapter<RecyclerView.View
...
@@ -125,9 +82,9 @@ public class PlacementBlogAdapter extends RecyclerView.Adapter<RecyclerView.View
public
ViewHolder
(
View
itemView
)
{
public
ViewHolder
(
View
itemView
)
{
super
(
itemView
);
super
(
itemView
);
postTitle
=
(
TextView
)
itemView
.
findViewById
(
R
.
id
.
post_title
);
postTitle
=
itemView
.
findViewById
(
R
.
id
.
post_title
);
postPublished
=
(
TextView
)
itemView
.
findViewById
(
R
.
id
.
post_published
);
postPublished
=
itemView
.
findViewById
(
R
.
id
.
post_published
);
postContent
=
(
TextView
)
itemView
.
findViewById
(
R
.
id
.
post_content
);
postContent
=
itemView
.
findViewById
(
R
.
id
.
post_content
);
}
}
}
}
...
...
app/src/main/java/app/insti/adapter/RecyclerViewAdapter.java
0 → 100644
View file @
741d5317
package
app.insti.adapter
;
import
android.content.Context
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ProgressBar
;
import
androidx.annotation.NonNull
;
import
androidx.recyclerview.widget.RecyclerView
;
import
java.util.List
;
import
app.insti.R
;
import
app.insti.fragment.RecyclerViewFragment
;
import
app.insti.interfaces.Clickable
;
import
app.insti.interfaces.ItemClickListener
;
import
app.insti.interfaces.Readable
;
import
app.insti.interfaces.Writable
;
public
abstract
class
RecyclerViewAdapter
<
T
extends
Clickable
>
extends
RecyclerView
.
Adapter
<
RecyclerView
.
ViewHolder
>
implements
Readable
<
T
>,
Writable
<
T
>
{
private
final
int
VIEW_ITEM
=
1
;
private
final
int
VIEW_PROG
=
0
;
private
List
<
T
>
posts
;
protected
ItemClickListener
itemClickListener
;
public
RecyclerViewAdapter
(
List
<
T
>
posts
,
ItemClickListener
itemClickListener
)
{
this
.
posts
=
posts
;
this
.
itemClickListener
=
itemClickListener
;
this
.
setHasStableIds
(
true
);
}
@Override
public
List
<
T
>
getPosts
()
{
return
posts
;
}
@Override
public
void
setPosts
(
List
<
T
>
posts
)
{
this
.
posts
=
posts
;
}
@NonNull
@Override
public
RecyclerView
.
ViewHolder
onCreateViewHolder
(
@NonNull
ViewGroup
parent
,
int
viewType
)
{
final
Context
context
=
parent
.
getContext
();
if
(
viewType
==
VIEW_ITEM
)
{
return
getViewHolder
(
parent
,
context
);
}
else
{
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
View
loadView
=
inflater
.
inflate
(
R
.
layout
.
blog_load_item
,
parent
,
false
);
return
new
ProgressViewHolder
(
loadView
);
}
}
abstract
RecyclerView
.
ViewHolder
getViewHolder
(
@NonNull
ViewGroup
parent
,
Context
context
);
@Override
public
int
getItemViewType
(
int
position
)
{
return
posts
.
size
()
>
position
?
VIEW_ITEM
:
VIEW_PROG
;
}
@Override
public
long
getItemId
(
int
position
)
{
if
(
position
<
posts
.
size
())
{
return
posts
.
get
(
position
).
getId
().
hashCode
();
}
return
-
1
;
}
@Override
public
int
getItemCount
()
{
return
RecyclerViewFragment
.
showLoader
?
(
posts
.
size
()
+
1
)
:
posts
.
size
();
}
public
static
class
ProgressViewHolder
extends
RecyclerView
.
ViewHolder
{
public
ProgressBar
progressBar
;
public
ProgressViewHolder
(
View
v
)
{
super
(
v
);
progressBar
=
v
.
findViewById
(
R
.
id
.
blog_load_item
);
}
}
}
app/src/main/java/app/insti/adapter/TrainingBlogAdapter.java
View file @
741d5317
...
@@ -7,6 +7,7 @@ import android.view.ViewGroup;
...
@@ -7,6 +7,7 @@ import android.view.ViewGroup;
import
android.widget.ProgressBar
;
import
android.widget.ProgressBar
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
java.text.DateFormat
;
import
java.text.DateFormat
;
...
@@ -24,54 +25,27 @@ import app.insti.interfaces.Readable;
...
@@ -24,54 +25,27 @@ import app.insti.interfaces.Readable;
import
app.insti.interfaces.Writable
;
import
app.insti.interfaces.Writable
;
import
ru.noties.markwon.Markwon
;
import
ru.noties.markwon.Markwon
;
public
class
TrainingBlogAdapter
extends
RecyclerView
.
Adapter
<
RecyclerView
.
ViewHolder
>
implements
Readable
<
TrainingBlogPost
>,
Writable
<
TrainingBlogPost
>
{
public
class
TrainingBlogAdapter
extends
RecyclerViewAdapter
<
TrainingBlogPost
>
{
private
final
int
VIEW_ITEM
=
1
;
private
final
int
VIEW_PROG
=
0
;
private
List
<
TrainingBlogPost
>
posts
;
private
ItemClickListener
itemClickListener
;
public
TrainingBlogAdapter
(
List
<
TrainingBlogPost
>
posts
,
ItemClickListener
itemClickListener
)
{
public
TrainingBlogAdapter
(
List
<
TrainingBlogPost
>
posts
,
ItemClickListener
itemClickListener
)
{
this
.
posts
=
posts
;
super
(
posts
,
itemClickListener
);
this
.
itemClickListener
=
itemClickListener
;
this
.
setHasStableIds
(
true
);
}
public
List
<
TrainingBlogPost
>
getPosts
()
{
return
posts
;
}
public
void
setPosts
(
List
<
TrainingBlogPost
>
posts
)
{
this
.
posts
=
posts
;
}
}
@Override
@Override
public
RecyclerView
.
ViewHolder
onCreateViewHolder
(
ViewGroup
parent
,
int
viewType
)
{
RecyclerView
.
ViewHolder
getViewHolder
(
@NonNull
ViewGroup
parent
,
Context
context
)
{
final
Context
context
=
parent
.
getContext
();
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
if
(
viewType
==
VIEW_ITEM
)
{
View
postView
=
inflater
.
inflate
(
R
.
layout
.
blog_post_card
,
parent
,
false
);
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
View
postView
=
inflater
.
inflate
(
R
.
layout
.
blog_post_card
,
parent
,
false
);
final
TrainingBlogAdapter
.
ViewHolder
postViewHolder
=
new
TrainingBlogAdapter
.
ViewHolder
(
postView
);
postView
.
setOnClickListener
(
v
->
itemClickListener
.
onItemClick
(
v
,
postViewHolder
.
getAdapterPosition
()));
final
TrainingBlogAdapter
.
ViewHolder
postViewHolder
=
new
TrainingBlogAdapter
.
ViewHolder
(
postView
);
return
postViewHolder
;
postView
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
itemClickListener
.
onItemClick
(
v
,
postViewHolder
.
getAdapterPosition
());
}
});
return
postViewHolder
;
}
else
{
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
View
loadView
=
inflater
.
inflate
(
R
.
layout
.
blog_load_item
,
parent
,
false
);
return
new
TrainingBlogAdapter
.
ProgressViewHolder
(
loadView
);
}
}
}
@Override
@Override
public
void
onBindViewHolder
(
RecyclerView
.
ViewHolder
recyclerHolder
,
int
position
)
{
public
void
onBindViewHolder
(
RecyclerView
.
ViewHolder
recyclerHolder
,
int
position
)
{
if
(
recyclerHolder
instanceof
ViewHolder
)
{
if
(
recyclerHolder
instanceof
ViewHolder
)
{
ViewHolder
holder
=
(
ViewHolder
)
recyclerHolder
;
ViewHolder
holder
=
(
ViewHolder
)
recyclerHolder
;
TrainingBlogPost
post
=
posts
.
get
(
position
);
TrainingBlogPost
post
=
getPosts
()
.
get
(
position
);
Markwon
.
setMarkdown
(
holder
.
postTitle
,
post
.
getTitle
());
Markwon
.
setMarkdown
(
holder
.
postTitle
,
post
.
getTitle
());
Date
publishedDate
=
post
.
getPublished
();
Date
publishedDate
=
post
.
getPublished
();
...
@@ -91,30 +65,13 @@ public class TrainingBlogAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
...
@@ -91,30 +65,13 @@ public class TrainingBlogAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
}
}
}
}
@Override
public
int
getItemViewType
(
int
position
)
{
return
posts
.
size
()
>
position
?
VIEW_ITEM
:
VIEW_PROG
;
}
@Override
public
long
getItemId
(
int
position
)
{
if
(
position
<
posts
.
size
())
{
return
posts
.
get
(
position
).
getPostID
().
hashCode
();
}
return
-
1
;
}
@Override
public
int
getItemCount
()
{
return
TrainingBlogFragment
.
showLoader
?
(
posts
.
size
()
+
1
)
:
posts
.
size
();
}
public
static
class
ProgressViewHolder
extends
RecyclerView
.
ViewHolder
{
public
static
class
ProgressViewHolder
extends
RecyclerView
.
ViewHolder
{
public
ProgressBar
progressBar
;
public
ProgressBar
progressBar
;
public
ProgressViewHolder
(
View
v
)
{
public
ProgressViewHolder
(
View
v
)
{
super
(
v
);
super
(
v
);
progressBar
=
(
ProgressBar
)
v
.
findViewById
(
R
.
id
.
blog_load_item
);
progressBar
=
v
.
findViewById
(
R
.
id
.
blog_load_item
);
}
}
}
}
...
@@ -126,9 +83,9 @@ public class TrainingBlogAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
...
@@ -126,9 +83,9 @@ public class TrainingBlogAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
public
ViewHolder
(
View
itemView
)
{
public
ViewHolder
(
View
itemView
)
{
super
(
itemView
);
super
(
itemView
);
postTitle
=
(
TextView
)
itemView
.
findViewById
(
R
.
id
.
post_title
);
postTitle
=
itemView
.
findViewById
(
R
.
id
.
post_title
);
postPublished
=
(
TextView
)
itemView
.
findViewById
(
R
.
id
.
post_published
);
postPublished
=
itemView
.
findViewById
(
R
.
id
.
post_published
);
postContent
=
(
TextView
)
itemView
.
findViewById
(
R
.
id
.
post_content
);
postContent
=
itemView
.
findViewById
(
R
.
id
.
post_content
);
}
}
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment