我正在为列表中的一行进行布局。其中一列由“工作时间”组成,该工作时间从数据库获取数据,分为两部分:开始和结束。我正在使用游标加载器将数据导入UI。所以我的问题是,如果两次分开存储,将开始和结束的数据合并为12:00〜4:00格式的最佳方式是什么?我曾考虑过放置另一个线性布局,但这看起来很浪费。有什么建议么?试图避免多个布局级别
编辑:
这是我的装载机回调,非常标准,我认为。
@Override
public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {
String[] projection = Columns.getColumns(RawContract.PARAM_SIWORKDAYS);
CursorLoader cursorLoader = new CursorLoader(mContext,
BidProvider.CONTENT_URI_SIWORKDAYS, projection, null, null, null);
return cursorLoader;
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
mAdapter.swapCursor(data);
}
@Override
public void onLoaderReset(Loader<Cursor> loader) {
mAdapter.swapCursor(null);
}
而且我使用它像这样
private void fillData() {
String[] from = new String[] { Columns.COLUMN_WORKDATE,
Columns.COLUMN_DAYCHARGE, Columns.COLUMN_TEMPERATURE,
Columns.COLUMN_WORKFROMHR, Columns.COLUMN_WORKTOHR,
Columns.COLUMN_WEATHER, Columns.COLUMN_CREATEDBY,
Columns.COLUMN_CREATEDDATE };
int[] to = new int[] { R.id.contractor, R.id.contract_num, R.id.title,
R.id.value, R.id.status, R.id.dept_name, R.id.start, R.id.close };
getLoaderManager().initLoader(0, null, this);
mAdapter = new SimpleCursorAdapter(mContext, R.layout.contract_row, null, from,
to, 0);
setListAdapter(mAdapter);
}
所以我想我得到的是,我从来没有手动从游标提取数据,所以我不知道是什么将这两部分数据放在一起的最好方法是。
你有一个'ListView'从一个'Cursor'中填充;每一行都有一个开始时间 - 完成时间?我不太清楚这是你要问的问题......为了清楚起见,你可以发布你的适配器,以及如何让你的光标进入ListView? – jlindenbaum
是的,所以每行都有一个starttime结束时间存储在不同的列中,我想知道把它们放在一起的最好方法是 – user1549672
当你将它们拉出数据库时,我假设你将它们放入一个对象中(数据模型或其他),而你的光标正在返回一个模型,而不仅仅是单个列? – jlindenbaum