我在我的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); …