我在我的Activity中包含了一个搜索对话框,工作正常.但是,添加搜索建议会给我一些问题:搜索建议条目是"空的".
我可以看到我的内容提供程序被调用(query(..))并返回一个包含多行的MatrixCursor.建议列表还显示(可点击)条目 - 但都是空白的.空白,好像我为SUGGEST_COLUMN_TEXT_1和SUGGEST_COLUMN_TEXT_2返回的字符串为空字符串.
我在MatrixCursor中使用的列是:
String[] columnNames = {"_ID", "SUGGEST_COLUMN_TEXT_1", "SUGGEST_COLUMN_TEXT_2", "SUGGEST_COLUMN_INTENT_EXTRA_DATA"};
Run Code Online (Sandbox Code Playgroud)
我确实只尝试了_ID和SUGGEST_COLUMN_TEXT_1列但结果相同.
编辑:我尝试返回一个简单的"测试"字符串作为SUGGEST_COLUMN_TEXT_1而不是我的数据中的东西.
我非常清楚这里的代码是什么,所以请问可能需要做些什么来解决这个问题.
我不知道在哪里寻找这个bug,我的Google-Fu让我失望了.
谢谢
(我想添加一个'android-search-suggestion'标签,但我是newguy所以我似乎不能)
我想做什么:
使用我自己的PictureActivity*拍照并添加EXIF(地理标记)数据
*:实施SurfaceHolder.Callback
和使用Camera
什么不起作用:
添加EXIF GPS数据
我尝试过:
使用ExifInterface
和手动设置Camera.Parameters
(使用特定的方法设置GPS元数据和使用params.set(String, Value)
).
我正在使用FlickrJ将图片上传到Flickr(是的,我设置了Flickr来导入GPS数据 - 其他图片工作正常),但是这个工具还说EXIF中没有GPS数据:http:// regex.信息/ exif.cgi
我错过了什么?
(Android 2.2,HTC Desire)
编辑:
- 相机设置为Geotag photos: On
- 我尝试使用硬编码的虚拟GPS位置
以下是手动设置参数的代码(无论是否首先删除GPS数据都尝试过,并且如下所述set(String, Value)
):
@Override
public void surfaceCreated(SurfaceHolder holder) {
mCamera = Camera.open();
Camera.Parameters p = mCamera.getParameters();
p.setPreviewSize(p.getPreviewSize().width, p.getPreviewSize().height);
Log.e("PictureActivity", "EXIF: "+AGlanceLocationListener.getLatitude());
p.removeGpsData();
p.setGpsLatitude( AGlanceLocationListener.getLatitude() );
p.setGpsLongitude( AGlanceLocationListener.getLongitude() );
p.setGpsAltitude( AGlanceLocationListener.getAltitude() );
p.setGpsTimestamp( AGlanceLocationListener.getTime() );
mCamera.setParameters(p);
}
Run Code Online (Sandbox Code Playgroud)
以下是使用以下代码ExifInterface
:
//Save EXIF location data …
Run Code Online (Sandbox Code Playgroud) 我正在使用Flask,flask-sqlalchemy和flask-marshmallow构建一个小型REST api.对于某些请求,我想返回一个由我的sqlalchemy对象组成的json序列化响应.但是,当使用多对多关系/辅助表时,我无法使用急切加载的sqlalchemy对象进行序列化.
这是一个简单的例子,或多或少地从flask-marshmallow docs复制/粘贴:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
from sqlalchemy.orm import joinedload
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite://'
# Order matters: Initialize SQLAlchemy before Marshmallow
db = SQLAlchemy(app)
ma = Marshmallow(app)
secondary_foo = db.Table('secondary_foo',
db.Column('author_id', db.Integer, db.ForeignKey('author.id')),
db.Column('book_id', db.Integer, db.ForeignKey('book.id')))
class Author(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255))
class Book(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(255))
authors = db.relationship('Author', secondary="secondary_foo", backref='books', lazy="joined")
class AuthorSchema(ma.ModelSchema):
class Meta:
model = Author
class …
Run Code Online (Sandbox Code Playgroud) 我有一个使用 Blazor InputFile 组件作为子组件的组件。
当我选择一个文件时,按预期调用 OnChange 处理程序。但是,如果我两次选择同一个文件,则不会再次调用 OnChange 处理程序(我猜这符合预期,因为选择没有改变,但是我的用例需要这个)。
因此,我想如果我可以选择一个文件并调用 OnChange 处理程序并在 OnChange 处理程序中“重置”所选文件,那么即使再次选择了相同的文件,我也应该获得对处理程序的新调用。
我不知道如何重置 InputFile(子)组件中的文件选择。调用this.StateHasChanged()
处理程序不会导致 InputFile 组件重新呈现。
如果没有 JSInterop 并手动将 DOM 输入元素的值字段设置为“”,这是否可行(这是否可行)?
我的组件:
@using stuff;
<div class="drag-drop-area">
Drag and drop file here
<InputFile OnChange="@OnInputFileChange"></InputFile>
</div>
@code {
[Parameter]
public String SomeParam { get; set; } = "";
private async Task OnInputFileChange(InputFileChangeEventArgs e) {
// do stuff with file
// do _something_ here to reset InputFile
this.StateHasChanged(); //<-- this doesn't cause InputFile re-render
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我尝试这样做包括:
await Task.Delay(1); …