【问题标题】:Textview display in Android from sqlite来自sqlite的Android中的Textview显示
【发布时间】:2012-07-10 17:30:40
【问题描述】:

在我的应用程序中,我有一个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 没有显示任何内容。我检查了数据库的费用计数,它给出了准确的计数。因此数据存在于数据库中,但不会显示。我的设计有什么问题吗?

【问题讨论】:

    标签: android sqlite listview textview


    【解决方案1】:

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

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

    【讨论】:

    • 感谢 Venkatesh..如何在网格视图中分别填充两个值。
    • 好的。我添加了将值添加到gridview中的答案。请参阅答案。可能对你有帮助。
    • 你得到答案了吗?
    • 你试过我的编码了吗?出了什么问题?
    • 如果你尝试了我的编码,那么你的结果将在上图中。
    【解决方案2】:

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

    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>
    

    你可以在这里添加任意的textview,我想你想添加四个textview,所以你必须将textview的宽度更改为25dp。

    GridView 设置:

    然后为给定的gridview编码设置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并提到列是一。

    结果将是

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多