1

理由はわかりませんが、サブストリングを作成するとアプリがクラッシュします。

コードは次のとおりです。

while(data_mio.moveToNext())
{
    titolo_da_inserire=data_mio.getString(prodotto);
    titolo_da_inserire=titolo_da_inserire.substring(0,35)+"...";
    personList.add( new Prodotto_per_lista(
                      R.drawable.freccia_1, titolo_da_inserire,
                      Integer.parseInt(data_mio.getString(id_immagine)))
                  );
}
4

2 に答える 2

1

titolo_da_inserire 文字列の文字列が35未満の場合java.lang.StringIndexOutOfBoundsException、アプリがクラッシュするようにスローされます

サンプル

String st ="string";

st = st.substring(0,15); // throws exception String index out of range

System.out.println(st);

だからあなたは長さのチェックをする必要があります

if(st.length()>15)

{

st = st.substring(0,15);

System.out.println(st);

}
于 2012-08-30T11:07:17.170 に答える
1

String titolo_da_inserire実際に次のように宣言します

String titolo_da_inserire = "";

さて、使用する前に文字列titolo_da_inseriresubString() の長さを確認してください

if(titolo_da_inserire.length() >= 35)
 titolo_da_inserire = titolo_da_inserire.substring(0,35)+"...";
else
 titolo_da_inserire = titolo_da_inserire.substring(0,titolo_da_inserire.length())+"...";
于 2012-08-30T10:48:29.413 に答える