小编ree*_*olt的帖子

addToBackStack后不能使用popBackStack()

我的项目包含两个片段:

  • FragmentA:应用程序启动时默认加载的片段
  • FragmentB:替换fragmentA单击按钮完成时的操作.

这是我主视图的XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <fragment
        android:id="@+id/main_fragment_container"
        android:name="fragmentA"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </fragment>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

当我想以取代FragmentAFragmentB,我用这个代码:

FragmentTransaction fragmentTransaction = getSupportFragmentManager()
            .beginTransaction();
fragmentTransaction.addToBackStack(null);
fragmentTransaction.replace(R.id.main_fragment_container, new FragmentB());
fragmentTransaction.commit();
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常.我的FragmentA被新的替换FragmentB.但是,当点击上后退按钮做的,我希望更换FragmentBFragmentA使用popBackStackImmediate().

这是我使用的代码:

if (getSupportFragmentManager().getBackStackEntryCount() > 0){
    boolean done = getFragmentManager().popBackStackImmediate();
    fragmentTransaction.commit();
}
Run Code Online (Sandbox Code Playgroud)

该函数popBackStackImmediate返回false并且FragmentB仍处于前台.

我打电话时为什么FragmentA不会替换FragmentB popBackStackImmediate?有人有想法解决我的问题吗?

提前致谢

android android-fragments

26
推荐指数
3
解决办法
4万
查看次数

如何在aar库中指定依赖项?

我创建了一个Android库(称为MyLib中),这取决于其他图书馆可在Maven的回购协议(如GSON,翻新等).

MyLib
 |
 |-- Retrofit
 |-- Gson
 |-- ...
Run Code Online (Sandbox Code Playgroud)

MyLib打包到一个aar文件中.

目标是发布一个aar库,该库可以包含在Android应用程序(称为MyApp)中,而无需第二次指定MyLib使用的依赖项.

MyApp
 |
 |-- MyLib
 |    |-- Retrofit
 |    |-- gson
 |    |-- ...
Run Code Online (Sandbox Code Playgroud)

这是MyLib的build.gradle文件

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.squareup.retrofit:retrofit:1.9.0'
    compile 'com.google.code.gson:gson:2.3.1'
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我想建立和运行MyApp的不依赖问题,我不得不使用以下的build.gradle MyApp的(如果我不指定改装GSON作为DEPS,运行时异常被抛出,因为DEPS不可用) .

dependencies {
    compile('MyLib@aar')

    compile 'com.squareup.retrofit:retrofit:1.9.0'
    compile 'com.google.code.gson:gson:2.3.1'
}
Run Code Online (Sandbox Code Playgroud)

我不想在MyApp中指定MyLib中使用的依赖项,我应该如何编写build.gradle文件?

Thansk提前

dependencies pom.xml android-gradle-plugin aar

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

scala类序列化,无法修复SerialVersionUID

我目前正在测试远程演员在Android和Windows之间进行通信.Actors远程发送不同的类,我设置serialVersionUID.

这是我的序列化类的代码:

@SerialVersionUID(13.asInstanceOf[Long]) case class IdentifyMessage(userName : String, user : User, code : Int)
Run Code Online (Sandbox Code Playgroud)

问题是远程actor调试说不兼容的类存在问题:

caught java.io.InvalidClassException: scala.actors.remote.Node; local class incompatible: 
stream classdesc serialVersionUID = -6610463074147725500, local class serialVersionUID = -7525549079045563153
Run Code Online (Sandbox Code Playgroud)

为什么我的SerialVersionUID对编译器无关紧要?

如何修复serialVersionUID?或者可能还有另一个问题?

谢谢

serialization scala serialversionuid remote-actors

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

Null类型的隐式转换

我正在尝试在Scala中重现C#语法:

C#代码:

val myValue = myObject ?? new MyClass();
Run Code Online (Sandbox Code Playgroud)

基本上'myValue'将包含'myObject'(如果它不为null),或者一个新的'MyClass'实例(如果它为null).

这是我试图运行的Scala代码:

case class ShortCond(original: Any){
  def ??(fallback : Any) {
    if (original == null)
      return fallback
    return original
  }
}
implicit def any2ShortCond(original: Any) = ShortCond(original)


val myString = null
val value = myString ?? "myString is null"
Run Code Online (Sandbox Code Playgroud)

它在myString不为null时有效,但在myString为null时失败,它返回:

error: value ?? is not a member of Null
val value = myString ?? "myString is null"
Run Code Online (Sandbox Code Playgroud)

我理解错误,但有没有办法在Scala中实现这一点,或者它是不可能的?

谢谢

scala implicit-conversion

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

插入或更新查询执行成功但数据不持久

我正在尝试使用 JDBC 在现有 Firebird 数据库中插入或更新元素。我使用默认凭据( SYSDBAmasterkey )访问数据库。

根据 JDBC,请求已成功完成,但数据库未修改(当我执行选择时,的数据未出现)。我还尝试使用 RazorSQL 等软件修改数据库内容,结果是相同的(数据库在会话期间被修改,但如果我断开连接并重新连接到数据库,我的修改就会丢失)。

有人知道如何解决这个问题吗?

sql firebird jdbc jaybird

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