以编程方式为场景中的按钮设置onClickListeners

Dro*_*kas 4 java android scene android-4.4-kitkat

我有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>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

请假设这些都是有效的布局等.(我只是添加相关代码.).

所以在我的片段中,我充气并使用layout_1.xml.onCreateView我想在两个场景之间切换button_1.我可以为听者button_1layout_1.xml过程中onCreateView().问题是试图在第二个视图中设置一个监听器.监听器不会激活第二个场景(带layout_2.xml).因此我可以在两个场景之间切换.有没有办法实现这个目的?

All*_*ing 9

实际上,这样做的正确方法是在第二个场景中定义要执行的操作:

mSecondScene.setEnterAction(new Runnable() {
        @Override
        public void run() {
                 ((Button) mSecondScene.getSceneRoot().findViewById(R.id. button_1)).setOnClickListener( ... );
    }
Run Code Online (Sandbox Code Playgroud)

这将允许您在View上设置ClickListener,而不将数据绑定到通用单击侦听器方法.然后你可以执行转换到第二个场景和中提琴.