在我的应用程序中,我有一个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
没有显示任何内容。我检查了数据库的费用计数,它给出了确切的计数。因此数据存在于数据库中,但不会显示。我的设计有问题吗?
答案 0 :(得分:0)
在listview中只能加载一个项目。不支持加载多个。请尝试使用相同的语法通过网格视图显示。如果要在列表视图中尝试,则应通过Base adapter将列添加到列表视图。 请参阅给定的基础适配器教程链接。它会帮助你, http://developerlife.com/tutorials/?p=327
http://pradeep-sharma.com/blog/android-custom-listview-baseadapter-tutorial/
答案 1 :(得分:0)
通过这个给定的编码绘制布局,
<?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。
然后将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,并提到列是一个。