我有 2 个包含相同按钮的布局
layout_1.xml
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/button_1"
android:text="button2"
android:background="@android:color/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
和layout_2.xml
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/button_1"
android:text="button2"
android:background="@android:color/white"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
请假设这些都是有效的布局等(我只是添加相关代码。)。
所以在我的 fragment 中,我膨胀并在 onCreateView
中使用 layout_1.xml
。我想使用 button_1
在两个场景之间切换。我可以在 onCreateView()
期间为 layout_1.xml
中的 button_1
设置监听器。问题是试图在第二个 View 中的那个按钮上设置一个监听器。即听众不会为第二个场景激活(使用 layout_2.xml
)。因此我无法在两个场景之间切换。有没有办法实现这个?
实际上,执行此操作的正确方法是在第二个场景中定义要执行的操作:
mSecondScene.setEnterAction(new Runnable() {
@Override
public void run() {
((Button) mSecondScene.getSceneRoot().findViewById(R.id. button_1)).setOnClickListener( ... );
}
这将允许您在 View 上设置 ClickListener,而无需将数据绑定(bind)到通用点击监听器方法。然后你可以执行到第二个场景和中提琴的过渡。
我是一名优秀的程序员,十分优秀!