【发布时间】:2013-04-07 16:56:06
【问题描述】:
我在列表视图中显示数据库中的数据时遇到问题。以下是我的显示方法的代码。
显示
public ArrayList<Object> display(String rows) {
ArrayList<Object> rowArray = new ArrayList<Object>();
String[] columns = new String[] { KEY_ROWID, KEY_PACKNAME,
KEY_PACKRENT, KEY_SIMRATE, KEY_NATMINSBUN, KEY_INTMINSBUN,
KEY_INTMINSRATE, KEY_NATSMSBUN,
KEY_NATSMSRATE, KEY_INTSMSBUN, KEY_INTSMSRATE,
KEY_MMSBUN, KEY_MMSRATE, KEY_DATALBUN,
KEY_DATALRATE };
Cursor cursor = ourDatabase.query(DATABASE_TABLE, columns, null, null,
null, null, null);
cursor.moveToFirst();
if (!cursor.isAfterLast())
{
do
{
rowArray.add(cursor.getLong(0));
rowArray.add(cursor.getString(1));
rowArray.add(cursor.getString(2));
rowArray.add(cursor.getString(3));
rowArray.add(cursor.getString(4));
rowArray.add(cursor.getString(5));
rowArray.add(cursor.getString(6));
rowArray.add(cursor.getString(7));
rowArray.add(cursor.getString(8));
rowArray.add(cursor.getString(9));
rowArray.add(cursor.getString(10));
rowArray.add(cursor.getString(11));
rowArray.add(cursor.getString(12));
rowArray.add(cursor.getString(13));
rowArray.add(cursor.getString(14));
} while (cursor.moveToNext());
cursor.close();
}
return rowArray;
}
这是数组列表
EtiTariffDatabase test = new EtiTariffDatabase(this);
TextView TV = (TextView) findViewById(R.id.s_etipackname);
TextView TV1 = (TextView) findViewById(R.id.s_etipackrent);
TextView TV2 = (TextView) findViewById(R.id.srentalrate);
TextView TV3 = (TextView) findViewById(R.id.snationalbun);
TextView TV4 = (TextView) findViewById(R.id.seintbun);
TextView TV5 = (TextView) findViewById(R.id.senatsmsbun);
TextView TV6 = (TextView) findViewById(R.id.seintsmsbun);
TextView TV7 = (TextView) findViewById(R.id.sedatalocalbun);
test.open();
try
{
ArrayList<Object> row = test.display(null);
TV.setText((String)row.get(1));
TV1.setText((String)row.get(2));
TV2.setText((String)row.get(3));
TV3.setText((String)row.get(4));
TV4.setText((String)row.get(6));
TV5.setText((String)row.get(8));
TV6.setText((String)row.get(10));
TV7.setText((String)row.get(12));
}
catch (Exception e)
{
Log.e("Retrieve Error", e.toString());
e.printStackTrace();
}
test.close();
}
我发现的异常是:
04-07 16:48:23.759:E/Retrieve 错误(4134):java.lang.IndexOutOfBoundsException:索引 1 无效,大小为 0 04-07 16:48:23.829: W/System.err(4134): java.lang.IndexOutOfBoundsException: 无效索引 1,大小为 0 04-07 16:48:23.829: W/System.err(4134): 在 java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
我已经尝试了很长时间。它最初有效,但我删除了数据库并重新创建了它。从那时起,没有数据显示我有上述错误。任何帮助将不胜感激。
【问题讨论】: