adapter bug fix

This commit is contained in:
NudeDude 2019-04-03 16:19:57 +02:00
parent 7d9988a924
commit 69679e2fb0
4 changed files with 31 additions and 34 deletions

View File

@ -19,14 +19,13 @@ import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.backend.items.Message; import org.nuclearfog.twidda.backend.items.Message;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
public class MessageAdapter extends RecyclerView.Adapter<MessageAdapter.MessageHolder> { public class MessageAdapter extends RecyclerView.Adapter<MessageAdapter.MessageHolder> {
private List<Message> messages; private Message messages[];
private OnItemSelected mListener; private OnItemSelected mListener;
@ -36,18 +35,18 @@ public class MessageAdapter extends RecyclerView.Adapter<MessageAdapter.MessageH
public MessageAdapter(OnItemSelected listener) { public MessageAdapter(OnItemSelected listener) {
messages = new ArrayList<>(); messages = new Message[0];
this.mListener = listener; this.mListener = listener;
} }
public Message getData(int pos) { public Message getData(int pos) {
return messages.get(pos); return messages[pos];
} }
public void setData(@NonNull List<Message> messages) { public void setData(@NonNull List<Message> messageList) {
this.messages = messages; messages = messageList.toArray(messages);
} }
@ -64,13 +63,13 @@ public class MessageAdapter extends RecyclerView.Adapter<MessageAdapter.MessageH
@Override @Override
public long getItemId(int pos) { public long getItemId(int pos) {
return messages.get(pos).getId(); return messages[pos].getId();
} }
@Override @Override
public int getItemCount() { public int getItemCount() {
return messages.size(); return messages.length;
} }
@ -109,7 +108,7 @@ public class MessageAdapter extends RecyclerView.Adapter<MessageAdapter.MessageH
@Override @Override
public void onBindViewHolder(@NonNull MessageHolder vh, int index) { public void onBindViewHolder(@NonNull MessageHolder vh, int index) {
Message message = messages.get(index); Message message = messages[index];
Spanned text = Tagger.makeText(message.getText(), highlight, mListener); Spanned text = Tagger.makeText(message.getText(), highlight, mListener);
vh.message.setMovementMethod(LinkMovementMethod.getInstance()); vh.message.setMovementMethod(LinkMovementMethod.getInstance());
vh.message.setText(text); vh.message.setText(text);

View File

@ -20,7 +20,7 @@ import org.nuclearfog.twidda.backend.items.Tweet;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.Arrays;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -28,7 +28,7 @@ import java.util.List;
public class TimelineAdapter extends Adapter<TimelineAdapter.ItemHolder> { public class TimelineAdapter extends Adapter<TimelineAdapter.ItemHolder> {
private OnItemClickListener mListener; private OnItemClickListener mListener;
private List<Tweet> tweets; private Tweet tweets[];
private NumberFormat formatter; private NumberFormat formatter;
private int highlight = 0xFFFFFFFF; private int highlight = 0xFFFFFFFF;
private int font_color = 0xFFFFFFFF; private int font_color = 0xFFFFFFFF;
@ -36,7 +36,7 @@ public class TimelineAdapter extends Adapter<TimelineAdapter.ItemHolder> {
public TimelineAdapter(OnItemClickListener mListener) { public TimelineAdapter(OnItemClickListener mListener) {
tweets = new ArrayList<>(); tweets = new Tweet[0];
formatter = NumberFormat.getIntegerInstance(); formatter = NumberFormat.getIntegerInstance();
this.mListener = mListener; this.mListener = mListener;
} }
@ -54,29 +54,29 @@ public class TimelineAdapter extends Adapter<TimelineAdapter.ItemHolder> {
public Tweet getData(int pos) { public Tweet getData(int pos) {
return tweets.get(pos); return tweets[pos];
} }
public List<Tweet>getData() { public List<Tweet>getData() {
return tweets; return Arrays.asList(tweets);
} }
public void setData(@NonNull List<Tweet> newTweets) { public void setData(@NonNull List<Tweet> newTweets) {
this.tweets = new ArrayList<>(newTweets); tweets = newTweets.toArray(tweets);
} }
@Override @Override
public long getItemId(int pos) { public long getItemId(int pos) {
return tweets.get(pos).getId(); return tweets[pos].getId();
} }
@Override @Override
public int getItemCount() { public int getItemCount() {
return tweets.size(); return tweets.length;
} }
@ -98,7 +98,7 @@ public class TimelineAdapter extends Adapter<TimelineAdapter.ItemHolder> {
@Override @Override
public void onBindViewHolder(@NonNull ItemHolder vh, int index) { public void onBindViewHolder(@NonNull ItemHolder vh, int index) {
Tweet tweet = tweets.get(index); Tweet tweet = tweets[index];
if (tweet.getEmbeddedTweet() != null) { if (tweet.getEmbeddedTweet() != null) {
String retweeter = "RT " + tweet.getUser().getScreenname(); String retweeter = "RT " + tweet.getUser().getScreenname();
vh.retweeter.setText(retweeter); vh.retweeter.setText(retweeter);

View File

@ -13,18 +13,17 @@ import android.widget.TextView;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.backend.items.Trend; import org.nuclearfog.twidda.backend.items.Trend;
import java.util.ArrayList;
import java.util.List; import java.util.List;
public class TrendAdapter extends Adapter<TrendAdapter.ItemHolder> { public class TrendAdapter extends Adapter<TrendAdapter.ItemHolder> {
private List<Trend> trendList; private Trend trends[];
private OnItemClickListener mListener; private OnItemClickListener mListener;
private int font_color = 0xFFFFFFFF; private int font_color = 0xFFFFFFFF;
public TrendAdapter(OnItemClickListener mListener) { public TrendAdapter(OnItemClickListener mListener) {
trendList = new ArrayList<>(); trends = new Trend[0];
this.mListener = mListener; this.mListener = mListener;
} }
@ -35,18 +34,18 @@ public class TrendAdapter extends Adapter<TrendAdapter.ItemHolder> {
public Trend getData(int pos) { public Trend getData(int pos) {
return trendList.get(pos); return trends[pos];
} }
public void setData(@NonNull List<Trend> trendList) { public void setData(@NonNull List<Trend> trendList) {
this.trendList = trendList; trends = trendList.toArray(trends);
} }
@Override @Override
public int getItemCount() { public int getItemCount() {
return trendList.size(); return trends.length;
} }
@ -68,7 +67,7 @@ public class TrendAdapter extends Adapter<TrendAdapter.ItemHolder> {
@Override @Override
public void onBindViewHolder(@NonNull ItemHolder vh, int index) { public void onBindViewHolder(@NonNull ItemHolder vh, int index) {
Trend trend = trendList.get(index); Trend trend = trends[index];
String posStr = Integer.toString(trend.getPosition()) + '.'; String posStr = Integer.toString(trend.getPosition()) + '.';
vh.trends.setText(trend.getName()); vh.trends.setText(trend.getName());
vh.pos.setText(posStr); vh.pos.setText(posStr);

View File

@ -16,30 +16,29 @@ import com.squareup.picasso.Picasso;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.backend.items.TwitterUser; import org.nuclearfog.twidda.backend.items.TwitterUser;
import java.util.ArrayList;
import java.util.List; import java.util.List;
public class UserAdapter extends Adapter<UserAdapter.ItemHolder> { public class UserAdapter extends Adapter<UserAdapter.ItemHolder> {
private List<TwitterUser> mUser; private TwitterUser mUser[];
private OnItemClickListener mListener; private OnItemClickListener mListener;
private int font_color = 0xFFFFFFFF; private int font_color = 0xFFFFFFFF;
private boolean loadImage = true; private boolean loadImage = true;
public UserAdapter(OnItemClickListener mListener) { public UserAdapter(OnItemClickListener mListener) {
mUser = new ArrayList<>(); mUser = new TwitterUser[0];
this.mListener = mListener; this.mListener = mListener;
} }
public TwitterUser getData(int pos) { public TwitterUser getData(int pos) {
return mUser.get(pos); return mUser[pos];
} }
public void setData(@NonNull List<TwitterUser> mUser) { public void setData(@NonNull List<TwitterUser> userList) {
this.mUser = new ArrayList<>(mUser); mUser = userList.toArray(mUser);
} }
@ -55,13 +54,13 @@ public class UserAdapter extends Adapter<UserAdapter.ItemHolder> {
@Override @Override
public int getItemCount() { public int getItemCount() {
return mUser.size(); return mUser.length;
} }
@Override @Override
public long getItemId(int pos) { public long getItemId(int pos) {
return mUser.get(pos).getId(); return mUser[pos].getId();
} }
@ -83,7 +82,7 @@ public class UserAdapter extends Adapter<UserAdapter.ItemHolder> {
@Override @Override
public void onBindViewHolder(@NonNull ItemHolder vh, int index) { public void onBindViewHolder(@NonNull ItemHolder vh, int index) {
TwitterUser user = mUser.get(index); TwitterUser user = mUser[index];
vh.screenname.setText(user.getScreenname()); vh.screenname.setText(user.getScreenname());
vh.username.setText(user.getUsername()); vh.username.setText(user.getUsername());