我正在尝试将片段放入 NestedSrollView。由于它是 FrameLayout 的孩子,我认为这是可能的。这是xml:
<android.support.v4.widget.NestedScrollView
android:id="@+id/fragmentContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
</android.support.v4.widget.NestedScrollView>
Run Code Online (Sandbox Code Playgroud)
第一次交易后一切正常,片段附加到 NestedScrollView:
getSupportFragmentManager()
.beginTransaction()
.setCustomAnimations(R.anim.slide_right, R.anim.fade_out, R.anim.slide_left, R.anim.fade_out)
.add(R.id.fragmentContainer, new RankingFragment(), RANKING_FRAGMENT)
.commit();
Run Code Online (Sandbox Code Playgroud)
但是当我想替换第一个片段时,我收到此错误:
ScrollView 只能承载一个直系子节点
第二笔交易:
getSupportFragmentManager()
.beginTransaction()
.setCustomAnimations(R.anim.slide_right, R.anim.fade_out, R.anim.slide_left, R.anim.fade_out)
.replace(R.id.fragmentContainer, new com.steveq.photoquiz.ui.fragments.PreparationFragment(), PREPARATION_FRAGMENT)
.addToBackStack(PREPARATION_FRAGMENT)
.commit();
Run Code Online (Sandbox Code Playgroud)
有人能帮忙吗?
我想知道"=="运算符如何处理原始值.我理解"=="检查两个引用是否引用堆上的同一个对象.但它如何在原始值的上下文中工作,它们是否存储在堆栈中?例如
int a = 5;
int b = 5;
我假设这些值不存储在内存中的相同位置,但是== b返回"true".
我的想法是,JVM将存储在堆栈中的所有值视为存储在内存中的一个位置,并且在"=="的情况下返回true.你能用更详细的方式向我解释一下这件事吗?
问候