小编mja*_*ski的帖子

什么时候需要在View上执行invalidate()?

我对这个问题的回答刚刚被接受,但我开始想知道究竟是什么时候需要使一个视图无效(以及什么时候没有必要)?

经过一番思考后,我意识到它应该或多或少地像这样工作:

  • 实际绘制的"一切"发生在之后 onResume()
  • 在"免费"时间屏幕的部分可以重绘,但只有那些invalidated(和下面的一切)

因此,看起来,如果我改变后的东西onResume()(例如作为对按钮点击的响应,我应该invalidate()改变View).

但是,从这个问题中的 scana所说,它必须比那更复杂,并且它取决于某些人使用的方法.

例如,是否使用

lastClicked.setImageBitmap();
Run Code Online (Sandbox Code Playgroud)

要么

lastClicked.setImageResource();
Run Code Online (Sandbox Code Playgroud)

那么,什么时候需要在View上执行invalidate()以及它是如何工作的呢?

android android-imageview android-view

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

如何使用json4s将对象序列化为AST?

我正在写一个Customer Serializer.在那个Serializer中我想以某种方式说:"这件事你已经知道如何序列化".

我目前的方法看起来像这样:

    import org.json4s.native.Serialization._
    import org.json4s.JsonDSL.WithBigDecimal._

    object WindowSerializer extends CustomSerializer[Window](format =>
      ( [omitted],
        {
          case Window(frame, size) =>

            ( "size" -> size ) ~
            ( "frame" -> parse(write(frame)) )
        }))
Run Code Online (Sandbox Code Playgroud)

parse(write(frame))东西是既丑陋和低效.如何解决?

scala json4s

13
推荐指数
1
解决办法
6599
查看次数

如何在sbt下使用Scala与Scala?

我希望在我的SBT项目中使用Quasar.由于尚未支持Scala,唯一可行的选择是让SBT编译一些使用Quasar的java类.

我尝试过

javaOptions += "-javaagent:PATH_TO_JAR/quasar-core-0.5.0.jar"
Run Code Online (Sandbox Code Playgroud)

fork := true
Run Code Online (Sandbox Code Playgroud)

当我读到使用例如JRebel时,必须将这两个语句插入到build.sbt中

但它似乎无法使用Quasarish类(QuasarExample)产生:

[error]    IllegalArgumentException: : Fiber class HelloWorldSpec$$anonfun$1$$anonfun$apply$3$$anon$1 has not been instrumented.  (Fiber.java:151)
[error] co.paralleluniverse.fibers.Fiber.<init>(Fiber.java:151)
[error] co.paralleluniverse.fibers.Fiber.<init>(Fiber.java:171)
[error] co.paralleluniverse.fibers.Fiber.<init>(Fiber.java:448)
Run Code Online (Sandbox Code Playgroud)

成功检测后预计会运行且没有错误的一段代码:

new Fiber<Integer>() {
    @Override
    protected Integer run() throws SuspendExecution, InterruptedException {
        return 0;
    }
}.start();
Run Code Online (Sandbox Code Playgroud)

另请参阅此存储库以获取启动器.

scala sbt quasar

7
推荐指数
1
解决办法
1387
查看次数

如何自动测试应用程序在其他活动方面的行为与预期相似?

我有一个应用程序,在呼叫结束后立即启动活动.我想写一个自动测试,确保:

  • 它实际上发射
  • 如果在我的活动被激活后弹出一些其他活动(例如还有另一个电话或短信),一旦用户完成这项新活动,我的活动将再次显示(除非用户点击"主页"按钮或其他内容.

我看了一下Robotium和Roboelectric框架,但是如果它完全可行的话就无法找到答案.

android automated-tests robotium android-activity

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

熊猫合并不保留索引?

我有这两个数据框:

left = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                     'B': ['B0', 'B1', 'B2', 'B3'],
                     'key': ['K0', 'K1', 'K0', 'K1']}, 
                    index = [9,10,11,12])

right = pd.DataFrame({'C': ['C0', 'C1'],
                      'key': ['K0', 'K1']})
Run Code Online (Sandbox Code Playgroud)

当我运行时,pd.merge(left, right, on='key')我得到一个带有索引的新数据框:

    A   B key   C
0  A0  B0  K0  C0
1  A2  B2  K0  C0
2  A1  B1  K1  C1
3  A3  B3  K1  C1
Run Code Online (Sandbox Code Playgroud)

我想得到的是这个

     A   B key   C
9   A0  B0  K0  C0
11  A2  B2  K0  C0
10  A1  B1  K1  C1 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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