Didn't Getting time difference with string like “A minute ago” or “An hour ago” on Android. I already asked this ques before.
How to get "Time Difference" in "since/ago"? Is this possible without use of any library?
Here I am getting time string from Json Parsing. Format is YYYY-MM-DD, SS:MM:HH). Pic attached
https://i.stack.imgur.com/jhdsy.png
I want to know that is it possible to get time difference with string like "A minute ago" or "An Hour ago" from this.. Or we need to do some change in PHP Server also?
Here is my Adapter Class:
public class MessageAdapter extends BaseAdapter {
private Activity activity;
private File cacheDir;
private List<MessageBean> messageBeanList;
public ImageLoader imageLoader;
private Context context;
File filepath;
public MessageAdapter (Activity activity,List<MessageBean> messageBeanList)
{
super();
this.activity = activity;
this.messageBeanList = messageBeanList;
this.context=context;
}
@Override
public int getCount() {
return messageBeanList.size();
}
@Override
public Object getItem(int position) {
return messageBeanList.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ItemHolder itemHolder = new ItemHolder();
if (convertView == null) {
LayoutInflater vi = (LayoutInflater) activity.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
convertView = vi.inflate(
R.layout.message_item, null);
imageLoader=new ImageLoader(activity.getApplicationContext());
itemHolder.textViewMessage = (TextView) convertView
.findViewById(R.id.messageDetail);
itemHolder.textViewUserName = (TextView) convertView
.findViewById(R.id.userName);
itemHolder.textViewEffectiveVote = (TextView) convertView
.findViewById(R.id.effectiveVote);
itemHolder.textViewTotalVote = (TextView) convertView
.findViewById(R.id.totalVote);
itemHolder.imageView = (ImageView) convertView
.findViewById(R.id.imageView2);
itemHolder.voteUpImageButton = (ImageButton) convertView
.findViewById(R.id.agree);
itemHolder.shareit = (ImageButton) convertView
.findViewById(R.id.share);
.findViewById(R.id.disagree);
itemHolder.videoView = (ImageView) convertView
.findViewById(R.id.videoViewThumb);
convertView.setTag(itemHolder);
.findViewById(R.id.messageicon);
convertView.setTag(itemHolder);
itemHolder.timestampp = (TextView) convertView
.findViewById(R.id.timestamp);
convertView.setTag(itemHolder);
} else {
itemHolder = (ItemHolder) convertView.getTag();
}
if (messageBeanList != null && !messageBeanList.isEmpty())
{
final MessageBean messageBean = messageBeanList.get(position);
if (messageBean != null)
{
if (itemHolder.textViewEffectiveVote != null && messageBean.getEffectiveVote() != null)
{
itemHolder.textViewEffectiveVote.setText(messageBean.getEffectiveVote());
}
if (itemHolder.textViewMessage != null && messageBean.getMessage() !=null)
{
itemHolder.imageView.setVisibility(View.INVISIBLE);
itemHolder.videoView.setVisibility(View.INVISIBLE);
itemHolder.textViewMessage.setVisibility(View.VISIBLE);
itemHolder.textViewMessage.setText(messageBean.getMessage());
}
if (itemHolder.imageView != null && messageBean.getMessageId().length()>1)
{
}
if (itemHolder.textViewUserName != null && messageBean.getUserName() != null)
{
itemHolder.textViewUserName.setText(messageBean.getUserName());
}
if (itemHolder.textViewTotalVote != null && messageBean.getTotalVotes() != null)
{
itemHolder.textViewTotalVote.setText(messageBean.getTotalVotes());
}
if (itemHolder.timestampp != null && messageBean.getDateCreated() != null)
{
itemHolder.timestampp.setText(messageBean.getDateCreated());
}
if (itemHolder.voteDownImageButton != null )
{
ItemHolder holder = itemHolder;
holder.voteDownImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// messageBean.getTotalVotes()
((Message) activity).SendVote(messageBean, "0");
}
});
}
if (itemHolder.shareit != null )
{
ItemHolder holder = itemHolder;
holder.shareit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (messageBean.getMessage().length() > 1){
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.putExtra(Intent.EXTRA_TEXT, messageBean.getMessage());
sharingIntent.setType("text/plain");
activity.startActivity(sharingIntent);
}
if (messageBean.getImagePath().length() > 1){
String urlstring = "http://14.140.200.186/LikeIT/Service/development";
String imagestring = messageBean.getImagePath().toString();
imagestring = imagestring.replace("./", "/");
urlstring = urlstring + imagestring;
activity.startActivity(sendIntent);
File filepath = Environment.getExternalStorageDirectory();
cacheDir = new File(filepath.getAbsolutePath()
+ "/LikeIT/");
cacheDir.mkdirs();
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse(urlstring));
activity.startActivity(intent);
}
}
});
}
if (itemHolder.voteUpImageButton != null)
{
ItemHolder holder = itemHolder;
holder.voteUpImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((Message) activity).SendVote(messageBean, "1");
}
});
}
if (itemHolder.imageView != null && messageBean.getImage() !=null)
{
byte[] decodedString = Base64.decode(messageBean.getImage(), Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
itemHolder.imageView.setImageBitmap(decodedByte);
}
if (itemHolder.imageView != null && messageBean.getImagePath().length()>1) {
itemHolder.videoView.setVisibility(View.INVISIBLE);
itemHolder.imageView.setVisibility(View.VISIBLE );
itemHolder.textViewMessage.setVisibility(View.INVISIBLE);
itemHolder.imageview2.setBackgroundResource(R.drawable.pictureshai);
String urlstring = "http://14.140.200.186/LikeIT/Service/development";
String imagestring = messageBean.getImagePath().toString();
imagestring = imagestring.replace("./", "/");
urlstring = urlstring + imagestring;
imageLoader.DisplayImage(urlstring, itemHolder.imageView);
ItemHolder holder = itemHolder;
holder.imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String urlstring = "http://14.140.200.186/LikeIT/Service/development";
String imagestring = messageBean.getImagePath().toString();
imagestring = imagestring.replace("./", "/");
urlstring = urlstring + imagestring;
// messageBean.getTotalVotes()
((Message) activity).SendImageUrl(urlstring);
}
});
}
if (itemHolder.videoView != null && messageBean.getVideoPath().toString().length()>1) {
itemHolder.imageView.setVisibility(View.INVISIBLE );
itemHolder.textViewMessage.setVisibility(View.INVISIBLE);
itemHolder.videoView.setVisibility(View.VISIBLE);
String urlstring = "http://14.140.200.186/LikeIT/Service/development";
String imagestring = messageBean.getVideoPath().toString();
imagestring = imagestring.replace("./", "/");
urlstring = urlstring + imagestring;
itemHolder.videoView.setImageURI(Uri.parse(urlstring));
itemHolder.videoView.setBackgroundResource(R.drawable.videothumb);
itemHolder.videoView.setTag(urlstring);
DownloadVideoThumbNailTask.execute(itemHolder.videoView);
ItemHolder holder = itemHolder;
holder.videoView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String urlstring = "http://14.140.200.186/LikeIT/Service/development";
String imagestring = messageBean.getVideoPath().toString();
imagestring = imagestring.replace("./", "/");
urlstring = urlstring + imagestring;
((Message) activity).sendVideoUrl(urlstring);
}
});
}
}
}
return convertView;
}
class ItemHolder
{
public TextView textViewUserName;
public TextView textViewMessage;
public TextView textViewEffectiveVote;
public TextView textViewTotalVote;
public ImageView imageView;
public ImageButton voteUpImageButton;
public ImageButton voteDownImageButton;
public ImageView videoView;
public ImageView imageview2;
public TextView timestampp;
public String differenceString;
public ImageButton shareit;
}
@Override
public void notifyDataSetChanged() {
super.notifyDataSetChanged();
// Your code to nofify
}
}