小编Jon*_*Fry的帖子

使用OKHTTP跟踪多部分文件上载的进度

我正在尝试实现一个进度条来指示多部分文件上载的进度.

我已经阅读了对这个答案的评论 - /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)

android okhttp okio

35
推荐指数
2
解决办法
2万
查看次数

如何获得 DragEvent.ACTION_DROP 的正确 X、Y 坐标

我在获取 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

  • Drop 值是从 DragEvent 返回的值。这
  • SourceView 值来自开始拖动的单元格。
  • TargetView 值来自拖动事件结束的单元格。

谁能指出我如何获得 DragEvent 释放点的 X、Y 坐标的正确方向?或者解释一下 DragEvent 的 getX() 和 getY() 实际返回什么?

谢谢

android drag-and-drop

6
推荐指数
1
解决办法
4291
查看次数

使用DateTime值过滤DataTable

更新:

我正在尝试根据特定日期过滤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"的行存在.

不确定为什么这不起作用,任何帮助表示赞赏.

谢谢.

c#

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×2

c# ×1

drag-and-drop ×1

okhttp ×1

okio ×1