Reference to crash issue of CompactTweetView
CustomListAdaper extends BaseAdapter
than looking at
function getview{
It’s crashing each and everytime.
}
public class CustomTweetListAdapter extends BaseAdapter {
Context mContext;
private List<Tweet> data;
public CustomTweetListAdapter(Context context, List<Tweet> data) {
this.mContext = context;
this.data = data;
}
@Override
public int getCount() {
return data.size();
}
@Override
public Tweet getItem(int position) {
return data.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Tweet tweet = getItem(position);
if (convertView == null) {
convertView = View.inflate(mContext, R.layout.tweet_item, null);
ViewHolder holder = new ViewHolder(convertView);
CompactTweetView tweetView = new CompactTweetView(mContext,
tweet);
holder.layout_TweetContainer.addView(tweetView);
});
}
return convertView;
}
class ViewHolder {
FrameLayout layout_TweetContainer;
public ViewHolder(View view) {
layout_TweetContainer = (FrameLayout) view.findViewById(R.id.my_tweet_layout);
view.setTag(this);
}
}
}
> While we are fetching tweet again using tweetid , seems system is not crashing anymore but in this scenario we are fetching data twice, serious loss of optimization.
Here is code snapshot;
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
Tweet tweet = getItem(position);
if (convertView == null) {
convertView = View.inflate(mContext, R.layout.tweet_item, null);
final ViewHolder holder = new ViewHolder(convertView);
TweetUtils.loadTweet(tweet.id, new LoadCallback<Tweet>() {
@Override
public void success(Tweet tweet) {
CompactTweetView tweetView = new CompactTweetView(mContext,
tweet);
holder.layout_TweetContainer.addView(tweetView);
}
@Override
public void failure(TwitterException exception) {
// Toast.makeText(...).show();
}
});
}
return convertView;
}**