StringIndexOutOfBoundExeption
この時点でなぜ得られるのか、私には手がかりがありません:
for (int i = start; i < dataList.size() - 6
& dataList.get(i + 1).toString().substring(1).equals(lineNumber)
& !dataList.get(i + 1).toString().substring(1)
.equals("LIST_END"); i += 6)
{
if (!dataList.get(i).toString().contains("null")){
shortList.add(dataList.get(i).toString()); }
else {shortList.add("");}
if (!dataList.get(i+1).toString().contains("null")){
shortList.add(dataList.get(i + 1).toString());}
else {shortList.add("");}
if (!dataList.get(i+2).toString().contains("null")){
shortList.add(dataList.get(i + 2).toString());}
else {shortList.add("");}
if (!dataList.get(i+3).toString().contains("null")){
shortList.add(dataList.get(i + 3).toString()); }
else {shortList.add("");}
if (!dataList.get(i+4).toString().contains("null")){
shortList.add(dataList.get(i + 4).toString()); }
else {shortList.add("");}
これは、 this からデータを追加するループ内にありますArrayList
。
[null, 00010, 2013, 2.0, null,
等々。ご覧のとおり、最初と 5 番目の要素は null です。
最初の要素をチェックすると、含まれている場合null
、例外がスローされます。5 番目の要素を確認すると、含まれている場合は含まれnull
ておらず、" "
UI に空の文字列が表示されます。
これの理由は何ですか?
最初の要素の if ステートメントをコメントアウトすると、UI に が表示されますnull
。TextView
(これは、ディスプレイの最初の要素を表示する、ArrayList
私の Android アプリケーションのコードですnull
)
編集:
すべてのコメントへの回答:
はdataList.size
可変で、この場合は 7
はい、データは SAP インターフェースからのものですが、カーソルは使用されません
条件が追加されました
エラーメッセージは次のとおりです。
08-14 11:45:01.725: E/Request(18465): java.lang.StringIndexOutOfBoundsException: 長さ = 0; index=1 、最初の要素の if 条件の行を指す
* EDIT2: *
繰り返しますが、私の問題を特定するには:
私は遭遇します:
08-14 11:45:01.725: E/Request(18465): java.lang.StringIndexOutOfBoundsException: 長さ = 0; インデックス=1
しかし、なぜ?私の配列にはデータがあり、5 番目の要素についても同じ if 条件が機能します。なぜ最初のif条件でエラーが発生するのですか(私のログによると)