Android : Splitting time of tweet fetched from twitter

on Monday, October 6, 2014


I have fetched time of tweet from twitter.For that i have used getDateCreated() method.The ouput i am getting is in form -



Wed Oct 01 06:39:19+0000 2014


but i want output in following form-



Oct 01 06:39:19 2014


I am posting mostly that part of code dealing with fetching time of tweet.


TwitterFragment.java



ArrayList<String> time = new ArrayList<String>();
time.add(tweet.getDateCreated());
TwitterAdapter adapter = new TwitterAdapter(getActivity(), data, link, logoimage, time, name, officialname);


TwitterAdapter.java



public class TwitterAdapter extends BaseAdapter implements OnClickListener {

private static LayoutInflater inflater = null;

// String name = "";
private String officialname = "", logourl;
private Activity activity;
private ArrayList<String> data = new ArrayList<String>();
// private ArrayList<String> time = new ArrayList<String>();
private ArrayList<String> link = new ArrayList<String>();
private ArrayList<String> time = new ArrayList<String>();
private DisplayImageOptions optionsicon;
private ImageLoadingListener animateFirstListener = new AnimateFirstDisplayListener();

public TwitterAdapter(final Activity a, final ArrayList<String> d, ArrayList<String> link, final String logoimage, final ArrayList<String> time, final String name, String officialname) {
this.activity = a;
this.data = d;
this.link = link;
this.time = time;
//this.name = name;*/
this.officialname = officialname;
this.logourl = logoimage;
inflater = (LayoutInflater) activity.
getSystemService(Context.LAYOUT_INFLATER_SERVICE);
optionsicon = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.profileblock)
.showImageForEmptyUri(R.drawable.profileblock)
.showImageOnFail(R.drawable.profileblock)
.cacheInMemory(true)
.cacheOnDisk(true)
.considerExifParams(true)
.displayer(new RoundedBitmapDisplayer(60))
.build();


}


public int getCount() {
return data.size();
}

public Object getItem(final int position) {
return position;
}

public long getItemId(final int position) {
return position;
}

public View getView(final int position, final View convertView, final ViewGroup parent) {

View vi = convertView;
ViewHolder holder;

if (convertView == null) {


vi = inflater.inflate(R.layout.listview_twitter, null);


vi.setVerticalScrollBarEnabled(false);
holder = new ViewHolder();
holder.nametv = (AvenirNextLtRegular) vi.findViewById(R.id.name);
holder.officialnametv = (AvenirNextLtRegular) vi.findViewById(R.id.officialname);
holder.timetv = (AvenirNextLtRegular) vi.findViewById(R.id.time);
holder.datatv = (AvenirNextLtRegular) vi.findViewById(R.id.data);

/* holder.image = (ImageView) vi.findViewById(R.id.image);*/
holder.logoimage = (ImageView) vi.findViewById(R.id.logoimage);


vi.setTag(holder);
} else {

holder = (ViewHolder) vi.getTag();


}
SpannableStringBuilder stringBuilder = new SpannableStringBuilder(data.get(position).toString() + link.get(position).toString());
stringBuilder.setSpan(new StyleSpan(Typeface.NORMAL), 0, data.get(position).toString().length(),
Spannable.SPAN_INCLUSIVE_INCLUSIVE);
stringBuilder.setSpan(new ForegroundColorSpan(Color.rgb(18, 171, 238)), data.get(position).toString().length(),
data.get(position).toString().length() + link.get(position).toString().length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
holder.datatv.setText(stringBuilder);
SpannableStringBuilder stringBuilder2 = new SpannableStringBuilder(time.get(position).toString() );
stringBuilder2.setSpan(new StyleSpan(Typeface.NORMAL), 0, time.get(position).toString().length(),
Spannable.SPAN_INCLUSIVE_INCLUSIVE);

holder.timetv.setText(stringBuilder2);
holder.officialnametv.setText(officialname);

// holder.logoimage.setImageBitmap(logoimage);
ImageLoader.getInstance().displayImage(logourl, holder.logoimage, optionsicon, animateFirstListener);
return vi;
}

@Override
public void onClick(final View arg0) {
// TODO Auto-generated method stub

}


public static class ViewHolder {

private AvenirNextLtRegular nametv;
private AvenirNextLtRegular officialnametv;
private AvenirNextLtRegular timetv;
private AvenirNextLtRegular datatv;

/* public ImageView image;*/
private ImageView logoimage;
}

private static class AnimateFirstDisplayListener extends SimpleImageLoadingListener {

static final List<String> DisplayedImages = Collections.synchronizedList(new LinkedList<String>());

@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
if (loadedImage != null) {
ImageView imageView = (ImageView) view;
boolean firstDisplay = !DisplayedImages.contains(imageUri);
if (firstDisplay) {
FadeInBitmapDisplayer.animate(imageView, 500);
DisplayedImages.add(imageUri);
}
}
}
}
}

0 comments:

Post a Comment