gpt4 book ai didi

java - 如何在android studio中的RecyclerView onbindViewHolder中解析JSON日期格式?

转载 作者:行者123 更新时间:2023-12-01 18:47:14 24 4
gpt4 key购买 nike

我到处都找过了,但我找不到任何关于在 android 中的 RecyclerView onbindViewHolder 中解析日期时间 json 对象的信息。

如何在回收器 View 适配器中执行此操作?

我是使用 RecyclerView 的 Rest Api 新手,所以如果您知道解决方案,请帮忙,谢谢。

public class AdminAdvanceRefundRequestAdapter extends RecyclerView.Adapter<AdminAdvanceRefundRequestAdapter.MyViewHolder> {

List<AdvanceReturnRequestModel> advanceReturnRequestModels;
private Context context;
private RecyclerViewClickListener mListener;

public AdminAdvanceRefundRequestAdapter(List<AdvanceReturnRequestModel> advanceReturnRequestModels, Context context, RecyclerViewClickListener mListener) {
this.advanceReturnRequestModels = advanceReturnRequestModels;
this.context = context;
this.mListener = mListener;
}

@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.model_advance_refund_request, parent, false);
return new MyViewHolder(view, mListener);
}

private String getFormate(String date) throws ParseException {
Date d = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss", Locale.ENGLISH).parse(date);
//Log.d("Date", String.valueOf(d));
Calendar cal = Calendar.getInstance();
cal.setTime(d);
String monthName = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss").format(cal.getTime());
return monthName;
}

@RequiresApi(api = Build.VERSION_CODES.O)
@Override
public void onBindViewHolder(@NonNull final MyViewHolder holder, final int position) {

final AdvanceReturnRequestModel thisModelResponse = advanceReturnRequestModels.get(position);

holder.return_date.setText(getFormate(thisModelResponse.getCreatedDate()));

}

@Override
public int getItemCount() {
return advanceReturnRequestModels.size();
}

public class MyViewHolder extends RecyclerView.ViewHolder{

private RecyclerViewClickListener mListener;
private TextView return_date;
private RelativeLayout row_container_arr;

public MyViewHolder(@NonNull View itemView, RecyclerViewClickListener listener) {
super(itemView);

return_date = itemView.findViewById(R.id.patient_returnDate_ARR_Model);

mListener = listener;

}
}

public interface RecyclerViewClickListener {
void onRowClick(View view, int position);
void onButtonYesClick(View view, int position);
void onButtonNoClick(View view, int position);
}
}

My JSON format is this:"CreatedDate": "/Date(1575781410847)/", and have to show it like this: 08-12-2019 11:03 AM

最佳答案

实际上,您提供的日期字符串无法解析。您必须从 CreatedDate 获取格式化日期字符串。检查以下内容:

private String getFormate(String date) {
String formattedDate = null;

try {
String[] dates = date.split("\\(|\\)");
Long timeInMillis = Long.parseLong(dates[1]);

Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(timeInMillis);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy hh:mm a");
formattedDate = simpleDateFormat.format(calendar.getTime());
} catch (Exception ex) {
ex.printStackTrace();
}

return formattedDate;
}

关于java - 如何在android studio中的RecyclerView onbindViewHolder中解析JSON日期格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59807680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com