小编Tai*_*aig的帖子

调用finish()不会完成活动

我想在特定原因暂停时完成我的活动.直到最近,我的代码工作正常,但最近由于finish()某种原因,该方法停止了它的工作.此外,finish()调用该方法时,我收到以下LogCat消息:

12-31 18:01:23.445: W/ActivityManager(481): Duplicate finish request for ActivityRecord{42465370 u11 "myapplicationpackage"}
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?

OnPause() 方法

@Override
protected void onPause() {
    super.onPause();
    finish();
}
Run Code Online (Sandbox Code Playgroud)

android onpause activity-finish

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

PlayFramework + ScalaTest + ScalaCheck

我正在使用标题中提到的框架,具有以下配置:

"com.typesafe.play" % "sbt-plugin" % "2.4.2"

"org.scalacheck" %% "scalacheck" % "1.12.4" % "test"
"org.scalatest" %% "scalatest" % "2.2.5" % "test"
"org.scalatestplus" %% "play" % "1.4.0-M4" % "test"
Run Code Online (Sandbox Code Playgroud)

通过简单的测试来演示:

class User
        extends FlatSpec
        with Matchers
        with Checkers {
    it should "do scala check stuff" in {
        check( ( a: Int ) ? a > 100 )
    }

    it should "do scala check stuff II" in {
        check( ( a: Int ) ? true )
    }
}
Run Code Online (Sandbox Code Playgroud)

它看起来基本上可行,但sbt test输出却异常混乱.

[project-id] …
Run Code Online (Sandbox Code Playgroud)

scala scalatest scalacheck playframework-2.0

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

将数据从运行时存储转换为案例类

我试图通过android.os.BundleAPI 进行抽象,旨在以这种方式生成Bundles:

case class MyClass( a: Int, b: String )
val mc = MyClass( 3, "5" )
implicit val bundleable = Bundle.from[MyClass]()
val bundle = bundleable.write( mc )
assert( mc == bundleable.read( bundle ) )
Run Code Online (Sandbox Code Playgroud)

将case类转换为a LabelledGeneric并将键值对写入Bundle是很简单.但是我找不到将值从Bundle后面提取到原始类型的方法.我想那里的众多JSON库已经解决了这个问题,但我仍然无法找到如何继续的线索.

object Bundle {
    def from[T] = new {
        def apply[LG <: HList, K <: HList, N <: Nat]()(
            implicit
            lg:  LabelledGeneric.Aux[T, LG],
            l:   Length.Aux[LG, N],
            k:   Keys.Aux[LG, K],
            lfw: LeftFolder.Aux[LG, Bundle, fold.write.type, Bundle],
            //lfr: LeftFolder.Aux[K, Bundle, …
Run Code Online (Sandbox Code Playgroud)

android scala hlist shapeless

5
推荐指数
1
解决办法
294
查看次数

如何禁用绘图缓存?

我正在使用ListView来显示大量图像(无限滚动).当我开始向下滚动列表时,这些消息泛滥了logcat:

WARN/View(15722):视图太大而无法适应绘图缓存,需要1639680字节,只有1536000可用

我无法理解绘图缓存机制,但它似乎默认启用,因为我没有启用它.我认为禁用它会更好,因为它会在几秒钟内产生数百个警告.但我不知道哪个视图实际上导致了这个问题.我试图申请setDrawingCacheEnabled(false)所有相关的意见,但问题仍然存在.

android android-view

4
推荐指数
1
解决办法
5368
查看次数

如何在 Scala 中构建合适的命名空间?

我是 Scala 新手,现在正在创建我的第一个枚举(带有要覆盖的案例类toString)。

package views.helper.button

abstract sealed class Size(identifier: Option[String])
{
    def this(identifier: String) = this( Some( identifier ) )

    override def toString: String = identifier match
    {
        case Some( identifier ) => "btn-" + identifier
        case _ => ""
    }

    case object Mini extends Size( "mini" )
    case object Small extends Size( "small" )
    case object Default extends Size( None )
    case object Large extends Size( "normal" )
}
Run Code Online (Sandbox Code Playgroud)

这是我有 Java 背景的第一次尝试。访问案例对象button.Size.Mini对我来说似乎很自然。但看起来我无法访问类的内部案例对象。将它们放在Size类下面可以正常工作,但会导致命名空间混乱。

这是为什么?您将如何模拟这种行为?这可以通过对象扩展来完成得更优雅吗 …

enums scala namespaces inner-classes case-class

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

在Play Framework中使用SORM会导致抛出异常异常

我一直在努力让SORM使用Play Framework 2.2-SNAPSHOT以及2.1.1.目前,我正在尝试运行我创建的简约示例应用程序,以便更轻松地跟踪问题.不幸的是,我收到的错误消息对我没有任何帮助.

val appDependencies = Seq(
    "org.sorm-framework" % "sorm" % "0.3.8",
    "com.h2database" % "h2" % "1.3.168"
)
Run Code Online (Sandbox Code Playgroud)
# Database configuration
#
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"
# db.default.user=sa
# db.default.password=""
Run Code Online (Sandbox Code Playgroud)
case class Car( brand: String, wheels: Int )

object Db extends Instance( Seq( Entity[Car]() ), "jdbc:h2:mem:play" )
Run Code Online (Sandbox Code Playgroud)
object Application extends Controller {
  def index = Action {
    Db.query[Car].count()
    Ok("hello wolrd")
  }
}
Run Code Online (Sandbox Code Playgroud)

此堆栈跟踪中的结果:

play.api.Application$$anon$1: Execution exception[[RuntimeException: java.lang.NoSuchMethodError: scala.reflect.internal.TreeInfo.firstArgument(Lscala/reflect/internal/Trees$Tree;)Lscala/reflect/internal/Trees$Tree;]]
    at play.api.Application$class.handleError(Application.scala:289) ~[play_2.10.jar:2.1.1]
    at play.api.DefaultApplication.handleError(Application.scala:383) [play_2.10.jar:2.1.1]
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$17$$anonfun$apply$24.apply(PlayDefaultUpstreamHandler.scala:326) [play_2.10.jar:2.1.1]
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$17$$anonfun$apply$24.apply(PlayDefaultUpstreamHandler.scala:324) [play_2.10.jar:2.1.1]
    at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113) …
Run Code Online (Sandbox Code Playgroud)

reflection scala playframework sorm

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

为什么Scala偶尔会回退到Java对象?

我几乎可以肯定以前曾经问过这个问题,但是我错过了找到它的正确的话.

scala> Seq[Any]( 3, 3.4 )
res0: Seq[Any] = List(3, 3.4)

scala> res0( 1 ).getClass
res1: Class[_] = class java.lang.Double

scala> Seq( 3, 3.4 )
res2: Seq[Double] = List(3.0, 3.4)

scala> res2( 1 ).getClass
res3: Class[Double] = double
Run Code Online (Sandbox Code Playgroud)

为什么斯卡拉处理我的Double输入作为java.lang.DoubleSeq[Any],但保持它作为scala.Double一个工作的时候Seq[AnyRef]?有没有办法防止这种行为,而是总是使用Scala类型?

java scala language-interoperability

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

是否可以在Scala的ProcessBuilder中使用unix通配符?

Process( Seq( "rm", "-r", "*" ), new File( "/some/dir" ) ) !
Run Code Online (Sandbox Code Playgroud)

此代码将失败(rm: *: No such file or directory),因为*通配符被解释为字符串值而不是unix通配符.是否有可能改变这种行为?

unix scala processbuilder

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

使用circe递归将JSON树转换为其他格式(XML,CSV等)

为了使用circe 将JSON节点转换为JSON 以外的其他格式(例如XML,CSV等),我想出了一个解决方案,其中我必须访问circe的内部数据结构。

这是我的工作示例,该示例将JSON转换为XML字符串(虽然不完美,但您可以理解):

package io.circe

import io.circe.Json.{JArray, JBoolean, JNull, JNumber, JObject, JString}
import io.circe.parser.parse

object Sample extends App {

  def transformToXMLString(js: Json): String = js match {
    case JNull => ""
    case JBoolean(b) => b.toString
    case JNumber(n) => n.toString
    case JString(s) => s.toString
    case JArray(a) => a.map(transformToXMLString(_)).mkString("")
    case JObject(o) => o.toMap.map {
      case (k, v) => s"<${k}>${transformToXMLString(v)}</${k}>"
    }.mkString("")
  }

  val json =
    """{
      | "root": {
      |  "sampleboolean": true,
      |  "sampleobj": {
      |    "anInt": 1,
      |    "aString": …
Run Code Online (Sandbox Code Playgroud)

xml json scala scala-cats circe

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

android shape xml以编程方式旋转drawable更改颜色

这是三角形的xml:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:id="@+id/shape_id">
        <rotate
            android:fromDegrees="45"
            android:toDegrees="45"
            android:pivotX="-40%"
            android:pivotY="87%" >
            <shape android:shape="rectangle" >
                <stroke android:width="10dp"/>
            </shape>
        </rotate>
    </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

这是textview的背景

<TextView
    android:id="@+id/headlineSelect_TXT2"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_weight="1"
    android:background="@drawable/category_triangle_shape1"
    android:visibility="invisible" />
Run Code Online (Sandbox Code Playgroud)

我想以编程方式改变形状的颜色.我试过这个,但我得到空指针异常

LayerDrawable bgDrawable = (LayerDrawable) getActivity()
    .getResources()
    .getDrawable(R.drawable.category_triangle_shape1);
final GradientDrawable shape = (GradientDrawable) bgDrawable
    .findDrawableByLayerId(R.id.shape_id);
shape.setStroke(10,Color.GREEN);
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?感谢帮助.

xml android layer-list layerdrawable

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

从代码配置CoordinatorLayout

我正在动态地将内容视图注入到CoordinatorLayout现在,并且现在想要将layout_below属性应用于注入的视图,以便它不会隐藏在后面AppBar.

有没有办法在运行时从代码而不是注释的xml属性执行此操作?

android android-layout android-coordinatorlayout

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

从sbt命令行禁用AutoPlugin

我正在使用Scalariform AutoPlugin,并且想在CI服务器上运行测试时将其禁用。是否有sbt选项可以这样做?

scala sbt

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

为什么这个java代码不适用于loneTeen(99,99)

如果它在13..19(含)范围内,我们会说一个数字是"青少年".给定2个int值,如果一个或另一个是青少年,则返回true,但不是两者都返回.

loneTeen(13, 99) ? true
loneTeen(21, 19) ? true
loneTeen(13, 13) ? false

public boolean loneTeen(int a, int b) {
  if((a>=13  && a<=19)&&(b>=13 && b<=19))
      return false;
  else 
      return true;
}
Run Code Online (Sandbox Code Playgroud)

为什么它会给出一个真实的,而它应该给出错误

java

-4
推荐指数
1
解决办法
176
查看次数