【发布时间】:2017-11-20 04:35:36
【问题描述】:
我正在制作一个待办事项列表应用程序,我创建了一个 SQLite 数据库并将其与我的应用程序链接,除了数组中的数据之外,一切似乎都工作得很好,它们在创建新项目时会互相影响,就像当我设置第一个任务(研究)和第二个任务(研究)时,它会创建两个不同的项目,每个项目都有名称(StudyResearch)......这是我的基本适配器、光标和充气器的代码。
class MyCustomAdapter extends BaseAdapter
{
ArrayList<ListItem> Items=new ArrayList<ListItem>();
MyCustomAdapter(ArrayList<ListItem> Items ) {
this.Items=Items;
}
@Override
public int getCount() {
return (int) DatabaseUtils.queryNumEntries(db, "tasks");
}
@Override
public String getItem(int position) {
return Items.get(position).Name;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
String[] cols = {"id", "name", "time", "date"};
Cursor pointer = db.query("tasks", cols, null,null,null,null,null);
String name = "";
String time = "";
String date = "";
//String data = "";
while (pointer.moveToNext()){
name += pointer.getString(1);
time += pointer.getString(2);
date += pointer.getString(3);
//data += pointer.getInt(0) + " - " + pointer.getString(1) + " - " + pointer.getInt(2) +" - " + pointer.getInt(3);
}
LayoutInflater linflater =getLayoutInflater();
View view1=linflater.inflate(R.layout.row_view, null);
final CheckedTextView tvTasks =(CheckedTextView) view1.findViewById(R.id.tvTasks);
CheckedTextView tvDesc =(CheckedTextView) view1.findViewById(R.id.tvDesc);
tvTasks.setText(name);
tvDesc.setText(date + "(" + time + ")"); //date + "(" + time + ")"
tvTasks.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tvTasks.toggle();
}
});
return view1;
}
【问题讨论】:
标签: android sqlite listview arraylist