我正在尝试实现一个进度条来指示多部分文件上载的进度.
我已经阅读了对这个答案的评论 - /sf/answers/1699994341/,我必须将传递给传递给RequestBody的接收器包装起来并提供跟踪移动的字节的回调.
我已经创建了一个自定义RequestBody并使用CustomSink类包装了接收器,但是通过调试我可以看到字节是由RealBufferedSink ln 44 编写的,而自定义接收器写入方法只运行一次,不允许我跟踪移动的字节数.
private class CustomRequestBody extends RequestBody {
MediaType contentType;
byte[] content;
private CustomRequestBody(final MediaType contentType, final byte[] content) {
this.contentType = contentType;
this.content = content;
}
@Override
public MediaType contentType() {
return contentType;
}
@Override
public long contentLength() {
return content.length;
}
@Override
public void writeTo(BufferedSink sink) throws IOException {
CustomSink customSink = new CustomSink(sink);
customSink.write(content);
}
}
private class CustomSink implements BufferedSink {
private static final String TAG = "CUSTOM_SINK"; …Run Code Online (Sandbox Code Playgroud) 我在获取 DragEvent ACTION_DROP 的 X、Y 坐标时遇到问题。
我正在尝试为 gridview 单元格拖放设置动画,将单元格从发布点的 X、Y 设置为新的 X、Y。
下面是我用来尝试获取 X、Y 坐标的代码。但是它不会返回我期望的值。
@Override
public boolean onDrag(View v, DragEvent event) {
switch (action) {
case DragEvent.ACTION_DROP:
float x = event.getX();
float y = event.getY();
break;
}
}
Run Code Online (Sandbox Code Playgroud)
将第一个 gridview 单元格拖动到右侧的相邻单元格会给我这些值。
掉落 X,Y: 176.0,127.0
SourceView X,Y: 0.0,0.0
目标视图 X,Y 360.0,0.0
谁能指出我如何获得 DragEvent 释放点的 X、Y 坐标的正确方向?或者解释一下 DragEvent 的 getX() 和 getY() 实际返回什么?
谢谢
更新:
我正在尝试根据特定日期过滤DataTable.我的数据表有一个包含日期的列"whn".DataTable中的示例日期:
{21/02/2012 10:03:53} object {System.DateTime}
Run Code Online (Sandbox Code Playgroud)
这是我用来尝试过滤DataTable的代码:
String datevalue= "21/02/2012 10:03:53";
DataRow[] foundRows;
foundRows = dttemp.Select(String.Format("whn = '{0}'", datevalue));
Run Code Online (Sandbox Code Playgroud)
但是这不起作用并返回0行.即使我知道包含日期"datevalue"的行存在.
不确定为什么这不起作用,任何帮助表示赞赏.
谢谢.