从sqlite在Android中显示Textview

时间:2012-07-11 06:34:06

标签: android sqlite listview textview

在我的应用程序中,我有一个listview,因为我正在显示数据库中的数据。

以下是我的代码:

for(int i=1;i<=db.getAllTitles().getCount();i++)
              {
                 String cat=db.getTitle(i).getString(5).toString();
                 Cursor c = db.gethouseholdTitle();
                  startManagingCursor(c); 
                 if(cat.equals("Income"))
                 {  
//                   System.out.println("inside if="+select);
//                   Cursor cin = db.income();
                      from = new String[] { db.KEY_INCOME,db.KEY_DESC,db.KEY_CATEGORY,db.KEY_QUANTITY,db.KEY_TOTAL};
                      to = new int[] {R.id.text1 ,R.id.text3,R.id.text5,R.id.text7,R.id.text9};
                     SimpleCursorAdapter notes =
                                new SimpleCursorAdapter(this, R.layout.columnview, c, from, to);
                    //  System.out.println("notes="+notes.getCount());
                    //  setListAdapter(notes);    
                       lv.setAdapter(notes);  
                 }
                 else
                 {
                     String catexp=db.getTitle(i).getString(5).toString();
                     Cursor cexp = db.gethouseholdTitleExp();
                    System.out.println("inside else="+cexp.getCount());
                     from = new String[] { db.KEY_INCOME,db.KEY_DESC,db.KEY_CATEGORY,db.KEY_QUANTITY,db.KEY_TOTAL};
                     to = new int[] {R.id.text2 ,R.id.text4,R.id.text6,R.id.text8,R.id.text10};
                    SimpleCursorAdapter notesexp =
                            new SimpleCursorAdapter(this, R.layout.columnview, cexp, from, to);
                //  System.out.println("notes="+notes.getCount());
                //  setListAdapter(notes);    
                   lv.setAdapter(notesexp);  
                 }                   

              }

我的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:paddingTop="4dip"
     android:paddingBottom="6dip"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:orientation="vertical">         

     <TextView android:id="@+id/text1"      
        android:layout_width="30dip"
        android:layout_height="wrap_content"        
        android:text="Price:"/> 

      <TextView android:id="@+id/text2"     
        android:layout_width="110dip"
        android:layout_height="wrap_content" 
        android:layout_marginLeft="50dp"
        android:layout_marginTop="-20dp"
        android:layout_weight="1"/>

     <TextView android:id="@+id/text3"          
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

     <TextView android:id="@+id/text4"      
        android:layout_marginTop="-20dp"
        android:layout_width="110dip"
        android:layout_height="wrap_content" 
        android:layout_marginLeft="180dp"       
        android:layout_weight="1"/>  

       <TextView android:id="@+id/text5"            
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

       <TextView android:id="@+id/text6"        
        android:layout_marginTop="-20dp"
        android:layout_width="110dip"
        android:layout_height="wrap_content" 
        android:layout_marginLeft="180dp"       
        android:layout_weight="1"/>  

        <TextView android:id="@+id/text7"           
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

         <TextView android:id="@+id/text8"      
        android:layout_marginTop="-20dp"
        android:layout_width="110dip"
        android:layout_height="wrap_content" 
        android:layout_marginLeft="180dp"       
        android:layout_weight="1"/>  

          <TextView android:id="@+id/text9"         
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

          <TextView android:id="@+id/text10"        
        android:layout_marginTop="-20dp"
        android:layout_width="110dip"
        android:layout_height="wrap_content" 
        android:layout_marginLeft="180dp"       
        android:layout_weight="1"/>  

      <TextView
        android:id="@+id/textView21"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"/> 

</LinearLayout>..

在此,仅显示income个数据。 expense没有显示任何内容。我检查了数据库的费用计数,它给出了确切的计数。因此数据存在于数据库中,但不会显示。我的设计有问题吗?

2 个答案:

答案 0 :(得分:0)

在listview中只能加载一个项目。不支持加载多个。请尝试使用相同的语法通过网格视图显示。如果要在列表视图中尝试,则应通过Base adapter将列添加到列表视图。 请参阅给定的基础适配器教程链接。它会帮助你, http://developerlife.com/tutorials/?p=327

http://pradeep-sharma.com/blog/android-custom-listview-baseadapter-tutorial/

答案 1 :(得分:0)

通过这个给定的编码绘制布局,

showlist.xml:

 <?xml version="1.0" encoding="utf-8"?>
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content" >
<TableRow android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Show">
    <TextView android:layout_width="50dp" android:layout_height="20dp" android:textColor="#ff8000"
        android:id="@+id/Entry"  android:layout_weight="1" android:gravity="left"/>

    <TextView android:layout_width="50dp" android:layout_height="20dp" android:textColor="#ff8000"
        android:id="@+id/sales"  android:layout_weight="1" android:gravity="right" />
</TableRow>

您可以在此处添加任何no textview,我想您要添加四个textview,因此您必须将textview宽度更改为25dp。

GridView设置:

然后将gridcurs编码的simplecursoradapter设置为给定

       ada=new SimpleCursorAdapter(context, R.layout.showlist, mon,new String[] { cname, "_id" }, new int[] { R.id.Entry,R.id.sales }) 

   gridview.setadapter(ada);

   //It will work well.

主要的是你应该创建gridview,并提到列是一个。

结果将是

enter image description here