我仍然是Android开发中的新手,并且我的ToDo应用程序出现问题。
目前,我的列表视图显示所有已保存的待办事项仅按日期的前两位数字(天数!)排序,但日期以此格式存储:" dd.mm.yyyy& #34;
我的目标是按日期升序(ToDoTable.COLUMN_TODO_START)和时间(ToDoTable.COLUMN_TIME_START)对列表视图进行排序。
我现在使用以下代码:
public void fillData() {
String[] from = new String[] { ToDoTable.COLUMN_TODO_NAME, ToDoTable.COLUMN_TODO_PLACE, ToDoTable.COLUMN_TODO_START, ToDoTable.COLUMN_TODO_END };
int[] to = new int[] { R.id.todo_name, R.id.todo_place, R.id.todo_start };
getLoaderManager().initLoader(0, null, this);
adapter = new SimpleCursorAdapter(this, R.layout.todo_row_test2, null, from,
to, 0);
setListAdapter(adapter);
}
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
String[] projection = { ToDoTable.COLUMN_ID, ToDoTable.COLUMN_TODO_NAME, ToDoTable.COLUMN_TODO_PLACE, ToDoTable.COLUMN_TODO_START, ToDoTable.COLUMN_TIME_START, ToDoTable.COLUMN_TODO_END, };
CursorLoader cursorLoader = new CursorLoader(this,
DataContentProvider.CONTENT_URI, projection, null, null, ToDoTable.COLUMN_TODO_START + " ASC" );
return cursorLoader;
}
如果有人可以帮我解决这个问题,我将非常感激,特别是在按两个标准(日期和时间)对列表进行排序时。
提前致谢。
答案 0 :(得分:0)
最佳解决方案是数据库:对于大量数据,请随意使用mysql,例如: sqlite3的。导入库,将所有数据放入表中并运行查询:
reslt =mydatabase.find("select name,todo,time_start,time_end from todo_list order by time_start")
在mysql中,数据和时间只是一个字段。在sql中使用TIMESTAMP。
答案 1 :(得分:0)
SQLite没有为存储日期和时间而预留的存储类。您可以使用Date And Time Functions。
因此原始查询可能如下所示:
if (empty($_POST["email"])) {
$emailERR = "* Required";
} else {
$email = mysqli_real_escape_string($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailERR = "* Invalid email";
}
}