是否可以在listview而不是toast中显示sqlite数据库中的以下数据,如下面的代码所示?
btnlist = (Button) findViewById(R.id.btnlist);
btnlist.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
handler = new Datahandler(getBaseContext());
String getName, getaddress, getDate, getTime, getSchoolName;
getName = "";
getaddress = "";
getDate = "";
getTime = "";
getSchoolName = "";
handler.open();
Cursor C = handler.returnData();// return actual data from
// database
if (C.moveToFirst()) {
do {
getName = C.getString(0);
getaddress = C.getString(1);
getDate = C.getString(2);
getTime = C.getString(3);
getSchoolName = C.getString(4);
} while (C.moveToNext());
}
handler.close();
Toast.makeText(
getBaseContext(),
" Name :" + getName + "Address :"
+ getaddress + "Date :" + getDate + "Time :"
+ getTime + "School :" + getSchoolNname,
Toast.LENGTH_LONG).show();
}
});
}
答案 0 :(得分:0)
按列表视图我假设你的意思是第一行有名字,第二行有地址,第三行有日期等等?如果是这样,我建议您实际制作10个文本视图,5个用于标签,5个用于数据。如果需要滚动,可以将它们放入滚动视图中。一旦你有了这些文本视图,就可以在带有数据的5个文本视图上调用.setText(...),用你在变量中的数据填充它们,例如getName。
我说这样做的原因是为了与典型的Android设计保持一致。通常,列表视图用于显示数据列表,其中每行显示相同键的不同值,例如联系人。看起来你总是有五个数据点,所以我们不需要列表视图的开销,一组静态的文本视图就可以很好地满足这个目的。
答案 1 :(得分:-1)
是的,当然可能:)
您已经完成了从数据库中获取数据的艰苦工作。
我为你准备了一个超级快速的例子。显然,您需要通过阅读一些内容并遵循一些教程来填补空白。这是一个好的开始: http://www.vogella.com/tutorials/AndroidListView/article.html
http://webdeveloperpadawan.blogspot.co.uk/2014/09/android-listview-with-differing-rows.html
您需要做的是为您的学生详细信息或其他任何内容创建自定义对象。然后而不是做
String getName = C.getString(0)
你会做这样的事情:List<Student> students;
Student student;
do{
student.setName(C.getString(0));
...
//Then you add that student into a List of students
students.add(student);
}
然后创建一个扩展学生列表的自定义适配器:
public class AdapterStudents extends ArrayAdapter<Student>{
//...
}
然后创建适配器的实例,最后将该适配器设置为listview。
正如我所说的那样,按照一些教程了解更具体的内容,但这是你的基本行动计划:)
祝你好运。