0

我正在尝试从 SQLite 数据库中获取数据并在 Android 中以表格格式显示它。下面是显示数据的代码:

    Cursor c=db.getAllTitles();
    if(c.moveToFirst())
    {
        do
        {
            DisplayTitle(c);
        }while(c.moveToNext());
    }

函数如下DisplayTitle所示:

public void DisplayTitle(Cursor c)
{   
    txt.setText(c.getString(0));
    txt.setTextColor(Color.blue(1));

    tr.addView(txt);
    tl.addView(tr);
}

这里,txtTextView我在类中全局声明的变量。tlTableLayout变量,trTableRow我在类中全局声明的变量。

这行不通。但是,如果我使用Toast函数,则会显示从数据库中提取的数据。请帮忙。

这是整个代码的链接:

http://pastebin.me/24d7e33ce334e56087dcb657081684e9

4

2 回答 2

1

我的猜测是,对于每个数据记录,您需要使用新的文本视图声明一个的表行。从解释来看,您似乎不想对所有数据记录使用相同的表格行和相同的文本视图。

如果您仍然卡住,请发布更完整的代码示例。最好是完整的,以便其他人可以复制您的问题。另外,请解释“这不起作用”是什么意思。

于 2011-04-07T19:45:36.697 回答
0

试试这个代码...

public Cursor getAll()  
{
   return db.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_NAME,
   KEY_MOVES, KEY_TIME}, null, null, null, null, null);
}

之后在主要活动中使用此代码

private void getall()  
{

   db.open();

   Cursor c = db.SortAllRows();
   int i=1;
   if (c.moveToFirst())   
   {        
      do
      {
         DisplayContact(c,i++);
      } while (c.moveToNext());
   }
   c.close();
   db.close();
}

public void DisplayContact(Cursor c,int row )   
{            
 String name11 = c.getString(1) + c.getString(2) + c.getString(3);           
 tv1.setText(name11 );
}
于 2012-10-23T04:54:10.547 回答