この問題に関連する投稿をいくつか見つけましたが、解決策を見つけることができませんでした。問題は、character() 関数で、ch[] 配列に最後の呼び出しの不完全な要素または最後の要素が含まれていることです。これは時々発生しますが、98% の場合は正常に動作します。ファイル名には特別な文字や奇妙な名前はありません。
もし私たちが持っているなら、
<tag>image1test.jpg<tag>
<tag>image2bla.jpg<tag>
機能している場合、char配列には適切な値が含まれていますが、そうでない場合、例の2番目のタグに対して文字関数が呼び出されると、
[i,m,a,g,e,2,b,e,s,t]
(最後の呼び出しからの残りの文字)
それを解決する方法は?ありがとう。
@Override
public void characters(char ch[], int start, int length) {
if(this.v_new){
myNewsXMLDataSet.setNews(new String(ch, start, length));
}