if (requestID == RequestCommand.COMMAND_KL_DAY) {
StraddleTrendKlineResponse response = CommonDataParseUtil.parseCommonData(resultStr, StraddleTrendKlineResponse.class);
if (response == null) return;
drawCandleChart(chart_left1, response, 1);
}
private void drawCandleChart(LinearLayout chart_container, StraddleTrendKlineResponse klResponse, int chartType) {
if (response == null || klResponse == null) {
return;
}
List<KLItemData> klDatalist = klResponse.getTimedata();
List<QuantDKPlusItemData> markList = response.getList();
if (markList == null) {
markList = new ArrayList<>();
}
List<String> colorList = new ArrayList<>();
for (int i = 0; i < markList.size(); i++) {
if (!CommonUtils.isNull(markList.get(i).getType()) && !CommonUtils.isNull(markList.get(i).getName()) && !CommonUtils.isNull(markList.get(i).getText())) {
colorList.add(markList.get(i).getType());
}
}
boolean isShowArea = chartType == 3;
boolean isDataEmpty = CommonUtils.isNull(klDatalist);
//TODO 是否显示 图表
if (chartType == 1) {
if (isDataEmpty) {
tv_left_chart1_empty.setVisibility(View.VISIBLE);
ll_left_chart1.setVisibility(View.GONE);
} else {
tv_left_chart1_empty.setVisibility(View.GONE);
ll_left_chart1.setVisibility(View.VISIBLE);
}
}
for (int i = 0; i < markList.size(); i++) {
for (int j = 0; j < klDatalist.size(); j++) {
klDatalist.get(j).setType(markList.get(i).getType());
if (!CommonUtils.isNull(markList.get(i).getSigndate()) && "D".equals(markList.get(i).getType())
&& markList.get(i).getSigndate().equals(klDatalist.get(j).getTimes().substring(0, 8))) {
for (int k = 0; k < klDatalist.size(); k++) {
klDatalist.get(k).setResistance(false);
}
klDatalist.get(j).setSignFlag(1);
klDatalist.get(j).setResistance(true);
} else if (!CommonUtils.isNull(markList.get(i).getSigndate()) && "K".equals(markList.get(i).getType())
&& markList.get(i).getSigndate().equals(klDatalist.get(j).getTimes().substring(0, 8))) {
klDatalist.get(j).setSignFlag(-1);
} else if (!CommonUtils.isNull(markList.get(i).getSigndate()) && "+".equals(markList.get(i).getType())
&& markList.get(i).getSigndate().equals(klDatalist.get(j).getTimes().substring(0, 8))) {
klDatalist.get(j).setSignFlag(2);
}
}
}
Collections.sort(klDatalist, new Comparator<KLItemData>() {
@Override
public int compare(KLItemData lhs, KLItemData rhs) {
return lhs.getTimes().compareTo(rhs.getTimes());
}
});
chart_container.removeAllViews();
chart_container.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, (int) (160 * CommonDataManager.displayMetrics.density)));
QuantDKLinePlusChart chart = new QuantDKLinePlusChart.Builder(this)
.lineType(1)
.bottomStatus(bottomStatus)
.build();
chart.setViewData(klDatalist, false, isShowArea, colorList);
chart_container.addView(chart);
}
chart_left1是一个全局变量,而
chart_container.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, (int) (160 * CommonDataManager.displayMetrics.density)));
QuantDKLinePlusChart chart = new QuantDKLinePlusChart.Builder(this)
.lineType(1)
.bottomStatus(bottomStatus)
.build();
chart.setViewData(klDatalist, false, isShowArea, colorList);
chart_container.addView(chart);
并没有这句代码,所以当我在本地登录成功后,画的图还是还是最初第一个图(正确的图被隐藏了)
chart_container.removeAllViews();
网友评论