Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于K线最后一条数据的更新和添加 #44

Open
lanbo1989 opened this issue Aug 29, 2018 · 4 comments
Open

关于K线最后一条数据的更新和添加 #44

lanbo1989 opened this issue Aug 29, 2018 · 4 comments

Comments

@lanbo1989
Copy link

lanbo1989 commented Aug 29, 2018

close #44

@SimonsLeung
Copy link

同问这个问题

@Bertkiing
Copy link

me.too ...

@Bertkiing
Copy link

@lanbo1989 你解决了这个问题吗?方便提示一下

@pingia
Copy link

pingia commented Mar 15, 2019

示范:
` int lastPositon = mAdapter.getCount() - 1;
if (data.getTimeStamp() == mAdapter.getItem(lastPositon).getTimeStamp()) { //如果推送的时间戳和最后一根分时点时间戳一致,就刷新它。
MinuteData lastMinuteData = mAdapter.getItem(lastPositon);
lastMinuteData.openPrice = data.openPrice;
lastMinuteData.highPrice = data.highPrice;
lastMinuteData.lowPrice = data.lowPrice;
lastMinuteData.closePrice = data.closePrice;
lastMinuteData.volume = data.volume;
lastMinuteData.timeStamp = data.timeStamp;
KlineDataHelper.calculate(mAdapter.getDataList());

                mAdapter.notifyDataSetChanged();
            } else {         //否则,就增加一个分时点

                MinuteData newData = new MinuteData();
                newData.openPrice = data.openPrice;
                newData.highPrice = data.highPrice;
                newData.lowPrice = data.lowPrice;
                newData.closePrice = data.closePrice;
                newData.volume = data.volume;
                newData.timeStamp = data.timeStamp;

                List<MinuteData> list = new ArrayList<>();
                list.add(newData);
                mAdapter.addFooterData(list);
            }`

`
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class KChartDataAdapter extends BaseKChartAdapter{
private List mDataList = new ArrayList<>();

public List<T> getDataList() {
    return mDataList;
}

@Override
public int getCount() {
    return mDataList.size();
}

@Override
public T getItem(int position) {
    return mDataList.get(position);
}

@Override
public Date getDate(int position) {
    return new Date(mDataList.get(position).getTimeStamp());
}

public void addFooterData(List<T> list){
    if(!CollectionUtils.isEmpty(list)) {
        mDataList.addAll(list);
        KlineDataHelper.calculate(mDataList);
        notifyDataSetChanged();
    }
}

public void addHeaderData(List<T> list){
    if(!CollectionUtils.isEmpty(list)) {
        mDataList.addAll(0, list);
        KlineDataHelper.calculate(mDataList);
        notifyDataSetChanged();
    }
}

public void setData(List<T> list){
    if(!CollectionUtils.isEmpty(list)) {
        mDataList.clear();
        mDataList.addAll(list);
        KlineDataHelper.calculate(list);
        notifyDataSetChanged();
    }
}

}
`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants