sqlite - 从 Sqlite 游标加载器中提取数据
问题描述
好的,我有一个具有 Listview 并使用 sqlite 数据填充它的应用程序。但我也希望能够通过电子邮件发送消息正文的每个视图的内容。我尝试使用全局字符串变量执行此操作,并在 BindView 部分的 CarCursorAdapter 活动中捕获数据,如下所示:
// Update the TextViews with the attributes for the current move
vinTxtView.setText(vinStr);
dateTxtView.setText(dateStr);
mvFromTxtView.setText(mvFrom);
mvToTxtView.setText(mvTo);
MyProperties.getInstance().bodyStrGlobal = MyProperties.getInstance().bodyStrGlobal+vinStr+"-"+mvFrom+"->"+mvTo+"-"+dateStr+"\n";
然后我在电子邮件意图中使用该字符串。但问题是每次填充列表视图时它都会不断添加到这个字符串中,所以我得到各种双重条目。选择电子邮件功能后,仅捕获一次的最佳方法是什么?或者在某个地方将字符串重置为空?也许只是从每个列表视图项而不是从游标加载器中读取?可能有一种方法可以循环浏览数据库表,但我遇到了各种错误并且没有任何运气。
解决方案
发现这个工作。我的 MainActivity 现在很忙,但一切正常。
public String getEmailText(){
String tempStr = "";
String[] projection = {
CarEntry._ID,
CarEntry.COLUMN_CAR_VIN,
CarEntry.COLUMN_CAR_DATE,
CarEntry.COLUMN_CAR_MOVEFROM,
CarEntry.COLUMN_CAR_MOVETO};
Cursor cursor = getContentResolver().query(Uri.parse("content://gregorykraft.com.scanvin/cars"),projection,null,null,null);
if
(cursor == null || cursor.getCount() < 1) {
Toast.makeText(this, getString(R.string.error_uri),
Toast.LENGTH_SHORT).show();
return "";
}
int i = 0;
if (cursor.moveToFirst()) {
while (!cursor.isAfterLast()) {
i++;
String s =String.valueOf(i);
String vinStr = cursor.getString(cursor.getColumnIndex(CarEntry.COLUMN_CAR_VIN));
String mvFrom = cursor.getString(cursor.getColumnIndex(CarEntry.COLUMN_CAR_MOVEFROM));
String mvTo = cursor.getString(cursor.getColumnIndex(CarEntry.COLUMN_CAR_MOVETO));
String dateStr = cursor.getString(cursor.getColumnIndex(CarEntry.COLUMN_CAR_DATE));
tempStr = tempStr+s+") "+vinStr + "-" + mvFrom + "->" + mvTo + "-" + dateStr + "\n";
cursor.moveToNext();
}
cursor.close();
}
return tempStr;
}
推荐阅读
- java - java Armstrong代码中的“if”条件问题
- reactjs - 将 Fullpagejs 与 react-router-dom 一起使用
- flutter - Flutter - 将项目从生产转变为开发
- python - 用字典的值替换 DataFrame 的值
- ios - 是否可以在 SwiftUI 中使用 UIKit 扩展?
- powershell - 如果属性名称是整数,为什么我不能点引用哈希表键的值属性
- python - Python - 不确定我是通过 FTP 还是 SFTP 连接到服务器
- firebase - 我在尝试 this.in 时遇到此错误。以前的版本我用这种方式构建它,但我现在不能。颤振快照映射
- eclipse - .pack 文件的 Eclipse 问题
- javascript - v-for 循环一次选择多个项目并在选择索引时更改图像