【发布时间】:2017-06-14 06:06:22
【问题描述】:
我得到 json 对象,
"painWorse":"Sitting,Standing,,,,Lying Down"
我需要解析并显示为
- 坐着
- 站立
- 躺下
目前我将文本设置为:
viewHolder.painWorse.setText(assessObject.get("painWorse").toString().replace("\"", ""));
我需要跳过空项目,只解析和显示选中的项目。如何实现这一点
适配器代码:
public class AssessmentAdapter extends RealmBasedRecyclerViewAdapter<Assessment, AssessmentAdapter.ViewHolder> {
Context mContext;
public AssessmentAdapter(
Context context,
RealmResults<Assessment> realmResults,
boolean automaticUpdate,
boolean animateIdType) {
super(context, realmResults, automaticUpdate, animateIdType);
mContext = context;
}
public class ViewHolder extends RealmViewHolder {
//
@BindView(R.id.visitDate)
TextView visitDate;
@BindView(R.id.Name)
TextView name;
@BindView(R.id.txtAge)
TextView age;
@BindView(R.id.txtSex)
TextView sex;
@BindView(R.id.problemBegin)
TextView problem;
@BindView(R.id.problem)
TextView problemBegin;
@BindView(R.id.morningRate)
TextView morningRate;
@BindView(R.id.afternoonRate)
TextView afternoonRate;
@BindView(R.id.eveningRate)
TextView eveningRate;
@BindView(R.id.assessmentDetails)
CardView assessmentDetails;
@BindView(R.id.painWorse)
TextView painWorse;
@BindView(R.id.currentCondition)
TextView currentCondition;
@BindView(R.id.diagnosticStudied)
TextView diagnosticStudied;
@BindView(R.id.medications)
TextView medications;
@BindView(R.id.history)
TextView history;
@BindView(R.id.goals)
TextView goals;
public ViewHolder(View container) {
super(container);
ButterKnife.bind(this, container);
}
}
@Override
public ViewHolder onCreateRealmViewHolder(ViewGroup viewGroup, int viewType) {
ViewHolder vh = null;
try {
View v = inflater.inflate(R.layout.assessment_card_view, viewGroup, false);
vh = new ViewHolder(v);
} catch (Exception e) {
Log.v(Constants.TAG, "onCreateRealmViewHolder Exception: " + e.toString());
}
return vh;
}
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onBindRealmViewHolder(ViewHolder viewHolder, int position) {
final Assessment assessment = realmResults.get(position);
try {
JsonParser parser = new JsonParser();
JsonArray assess = parser.parse(assessment.getAssesment().toString()).getAsJsonArray();
Log.v(Constants.TAG, "assessing" + assess);
JsonObject assessObject = assess.get(0).getAsJsonObject();
Log.v(Constants.TAG, "assessObject" + assessObject);
viewHolder.visitDate.setText(assessObject.get("Date").toString().replace("\"", ""));
viewHolder.name.setText(assessObject.get("Name").toString().replace("\"", ""));
viewHolder.age.setText(assessObject.get("Age").toString().replace("\"", ""));
viewHolder.sex.setText(assessObject.get("Sex").toString().replace("\"", ""));
viewHolder.problem.setText(assessObject.get("Problem").toString().replace("\"", ""));
viewHolder.problemBegin.setText(assessObject.get("ProblemBegin").toString().replace("\"", ""));
viewHolder.morningRate.setText(assessObject.get("morningRate").toString().replace("\"", ""));
viewHolder.afternoonRate.setText(assessObject.get("afternoonRate").toString().replace("\"", ""));
viewHolder.eveningRate.setText(assessObject.get("eveningRate").toString().replace("\"", ""));
viewHolder.painWorse.setText(assessObject.get("painWorse").toString().replace("\"", ""));
viewHolder.currentCondition.setText(assessObject.get("currentCondition").toString().replace("\"", ""));
viewHolder.diagnosticStudied.setText(assessObject.get("Diagnostic").toString().replace("\"", ""));
viewHolder.medications.setText(assessObject.get("Medications").toString().replace("\"", ""));
viewHolder.history.setText(assessObject.get("History").toString().replace("\"", ""));
viewHolder.goals.setText(assessObject.get("Goals").toString().replace("\"", ""));
viewHolder.assessmentDetails.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
} catch (Exception e) {
Log.v(Constants.TAG, "Exception: " + e.toString());
}
}
}
【问题讨论】:
-
你能分享你试图解析的代码吗?什么行动或事件?
-
viewHolder.painWorse.setText(assessObject.get("painWorse").toString().replace("\"", ""));
-
这里我正在解析 painWorse 对象的内容。我得到的输出是 Sitting,Standing,,,,Lying Down 。我需要删除空字符串
-
我已经更新了代码,请检查
标签: android json android-studio string-parsing