Android SQLite获取要在textview中显示的ArrayList

Android SQLite获取要在textview中显示的ArrayList,android,database,sqlite,arraylist,textview,Android,Database,Sqlite,Arraylist,Textview,从SQLite数据库获取ArrayList以在textview中显示时遇到问题。这样做的目的是让它成为一个“历史”页面,这样用户就可以看到他们过去的条目。当我执行tv.setText(db.getAllBalance)时,我得到的只是一个崩溃,logcat会一遍遍地显示我的项目包名称,后面跟着类似@4f58a392的内容。这是我完成我的应用程序的最后一步,它正在挣扎。任何协助都将不胜感激 我的数据库: //Getting All Balance public List<Balance>

从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;
}

我有一个坏的历史,张贴“坏问题”。但是我保证,我搜索了又搜索,但就是找不到解决方案。

您在
getAllBalance()
中返回了一个
列表
,然后将其强制转换为
CharSequence
。您可以尝试在
getAllBalance()
之后执行
toString()
调用,以尝试获取对象的一些
String
表示。将强制转换移除到
CharSequence
toString()
如果您使用“toString()”

您可以发布stacktrace吗?这让我更接近了,但现在我将此作为输出。有没有办法把这句话变成我能听懂的话?lol.我只是不知道这是什么意思,也不知道它来自哪里,这就是我所说的
对象
的“
字符串
表示法”的意思。如果你想将对象包含的数据与列匹配,这是一种完全不同的方法。我似乎不太明白。我猜代码所做的不是获取表中的实际数据,而是获取更多的数据对象本身?这是否需要更改数据库代码或我的历史记录类中的更多更改才能将其更改为数据?该代码为您提供了对
对象的可读描述。它告诉您它是
余额
对象
,并存储在内存中的某个位置(在@之后)。当我想将数据库中的内容映射到列表时,我使用
列表视图
适配器
;简单的或适合你的情况。请记住,在UI
线程中执行查询可能会使应用程序无响应。使用
加载程序
是一种更好的方法。感谢您的帮助。我不知道如何使用这些工具,所以我想我必须在下周晚些时候完成这项工作,并在早上问我的教授。也许她能给我看看。
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);
    }
}