我在DialogFragment中有一个包含微调器的表单.我不认为我可以将微调器选项移植到新活动(例如可自定义的ListView等),因为它将关闭DialogFragment,因此我使用嵌入到DialogFragment中的微调器(屏幕截图1).关于如何使用ArrayList和适配器填充微调器,没有什么不寻常的.
<Spinner
android:id="@+id/breedingcodes"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dip" />
Run Code Online (Sandbox Code Playgroud)
功能上它工作正常,微调器选项出现并且可以选择,但看起来很糟糕,因为它只使用了一半的屏幕(见截图2),锚定在DialogFragment中的微调器的位置.反正是否有强迫它使用全屏,如第3个截图与育种证据标题?我试过摆弄layout_height ="match_parent"等等 - 没有快乐.
应用程序是为SDK_10开发的,为SDK_23编译,构建工具23.0.3.
我有SQLite的问题和一些定制的SQL:
public Cursor getExistingSpeciesDetails(String sub_id, String english_name) {
Cursor c = mDb.rawQuery(
"SELECT mobileobs.how_many, mobileobs.comment, mobileobs.sensitive, "
+ "mobileobs.breeding_evidence from mobileobs "
+ "WHERE mobileobs.sub_id = '" + sub_id
+ "' and mobileobs.english_name = '" + english_name
+ "'", null);
return c;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是英文名称中的撇号(Cetti's Warbler)导致SQL中的错误(强制关闭我的Android应用程序).在这种类型的条款中有没有办法逃避撇号?
提前致谢
我有一个问题,重复记录通过Java Web服务到达我们的数据库,我认为这与Oracle处理线程有关.
使用我们构建的iPhone应用程序,用户将鸟类观察添加到他们度假时访问的新站点.他们在"新站点A"创建了三个记录(例如).iPhone将这三个记录中的每一个打包成包含相同日期和位置详细信息的单独JSON字符串.
在上载时,Web服务遍历每个JSON字符串.
迭代/观察1.它检查数据库以查看该站点是否存在,如果不存在,则创建一个新站点并将观察结果添加到挂起表中.
迭代/ Obs 2.该站点现在应该存在于数据库中,但是在迭代1中数据库站点检查找不到该站点,并且创建了第二个新站点.
迭代/ Obs 3.检查现有站点NOW WORKS,第三个观察结果附加到其中一个现有站点.因此,Web服务和数据库代码确实有效.
Web服务在每次迭代结束时提交.
第二次迭代的原因是由于Java调用后的Oracle提交延迟而未在数据库中找到新站点,因此在迭代1真正完成时它已经开始处理迭代2,或者是否可能Oracle是否在单独的线程上运行每次迭代?
我们想到的一个解决方案是在Web服务中使用Thread.sleep(1000),但我宁愿不惩罚iPhone用户.
感谢您的任何帮助,您可以提供.伊恩