SQLite使ArrayList显示在textview中

时间:2013-09-11 03:12:12

标签: android database sqlite arraylist textview

我无法从我的SQLite数据库中获取ArrayList以在textview中显示。我们的想法是将其设为“历史”页面,以便用户可以查看过去的条目。当我tv.setText(db.getAllBalance)时,我得到的只是一个崩溃,logcat显示我的项目包名称,然后反复出现像@ 4f58a392这样的东西。这是我完成我的应用程序的最后一步,它正在挣扎。任何帮助将不胜感激。

我的数据库:

//Getting All Balance
public List<Balance> getAllBalance(){
    List<Balance> balanceList = new ArrayList<Balance>();
    // Select All Query
    String selectQuery = "SELECT  * FROM " + TABLE_BALANCE;

    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);

    // looping through all rows and adding to list
    if (cursor.moveToFirst()) {
        do {
            Balance balance = new Balance();
            balance.setID(Integer.parseInt(cursor.getString(0)));
            balance.setAmount(cursor.getFloat(1));
            // Adding balance to list
            balanceList.add(balance);
        } while (cursor.moveToNext());
    }

    // return contact list
    return balanceList;
}

我的历史课:

public class History extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.history);

        final DatabaseHandler db = new DatabaseHandler(this);

        TextView tv = (TextView) findViewById(R.id.tvSQLinfo);

        Log.d("testing", "reading wallet " + db.getAllBalance());
        tv.setText((CharSequence) db.getAllBalance());
    }

    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();

        AdView adview = (AdView) findViewById(R.id.adView);
        AdRequest re = new AdRequest();
        //re.setTesting(true);
        adview.loadAd(re);
    }
}

我发布“糟糕的问题”的历史很糟糕。但我保证,我搜索并搜索过,但是找不到解决办法。

1 个答案:

答案 0 :(得分:0)

您将在List中返回getAllBalance(),然后将其投射到CharSequence。您可以尝试在toString()之后进行getAllBalance()调用,以尝试获取对象的某些String表示。将演员表移至CharSequence; toString()如果使用`toString()'