我想在特定原因暂停时完成我的活动.直到最近,我的代码工作正常,但最近由于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) 我正在使用标题中提到的框架,具有以下配置:
"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) 我试图通过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) 我正在使用ListView来显示大量图像(无限滚动).当我开始向下滚动列表时,这些消息泛滥了logcat:
WARN/View(15722):视图太大而无法适应绘图缓存,需要1639680字节,只有1536000可用
我无法理解绘图缓存机制,但它似乎默认启用,因为我没有启用它.我认为禁用它会更好,因为它会在几秒钟内产生数百个警告.但我不知道哪个视图实际上导致了这个问题.我试图申请setDrawingCacheEnabled(false)所有相关的意见,但问题仍然存在.
我是 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类下面可以正常工作,但会导致命名空间混乱。
这是为什么?您将如何模拟这种行为?这可以通过对象扩展来完成得更优雅吗 …
我一直在努力让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) 我几乎可以肯定以前曾经问过这个问题,但是我错过了找到它的正确的话.
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.Double内Seq[Any],但保持它作为scala.Double一个工作的时候Seq[AnyRef]?有没有办法防止这种行为,而是总是使用Scala类型?
Process( Seq( "rm", "-r", "*" ), new File( "/some/dir" ) ) !
Run Code Online (Sandbox Code Playgroud)
此代码将失败(rm: *: No such file or directory),因为*通配符被解释为字符串值而不是unix通配符.是否有可能改变这种行为?
为了使用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:
<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)
我怎样才能做到这一点?感谢帮助.
我正在动态地将内容视图注入到CoordinatorLayout现在,并且现在想要将layout_below属性应用于注入的视图,以便它不会隐藏在后面AppBar.
有没有办法在运行时从代码而不是注释的xml属性执行此操作?
我正在使用Scalariform AutoPlugin,并且想在CI服务器上运行测试时将其禁用。是否有sbt选项可以这样做?
如果它在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)
为什么它会给出一个真实的,而它应该给出错误
scala ×8
android ×5
java ×2
xml ×2
android-view ×1
case-class ×1
circe ×1
enums ×1
hlist ×1
json ×1
layer-list ×1
namespaces ×1
onpause ×1
reflection ×1
sbt ×1
scala-cats ×1
scalacheck ×1
scalatest ×1
shapeless ×1
sorm ×1
unix ×1