gpt4 book ai didi

java - 有什么方法可以获取 XMLPullParser 函数的进度吗?

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

解析需要相当长的时间,所以我希望能够显示进度条。但是我似乎找不到一种方法来更新进度。问题来自于这样一个事实:似乎没有一种方法(至少我知道)来检测 pullparser.next() 将运行多少次。我尝试在最初加载数据时添加和计算换行符,认为这也不会给出正确的结果。

int eventType = pullparser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_TAG) {
//Do stuff
}
eventType = pullparser.next();
//Update progress by x%
}

最佳答案

我暂时设计了一个解决方法,如果有人偶然发现此线程,请将其放置在这里。只要在原始 XML 字符串中保留换行符:如果检查事件类型是文本并且是空格,然后只增加计数器,就可以算出进度。

private int incrementPullParser(int eventType, XmlPullParser xpp) throws XmlPullParserException, IOException {
if (eventType == XmlPullParser.TEXT && xpp.isWhitespace()){
//used for counting the progress
currentLines++;
publishProgress((double)(currentLines/maxLines)*100);
return xpp.next();
}
return eventType;
}

关于java - 有什么方法可以获取 XMLPullParser 函数的进度吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60556390/

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