Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当我在片段中更改页面时,不会调用onClickListener_Android_Android Fragments_Imageview_Onclicklistener_Buttonclick - Fatal编程技术网

Android 当我在片段中更改页面时,不会调用onClickListener

Android 当我在片段中更改页面时,不会调用onClickListener,android,android-fragments,imageview,onclicklistener,buttonclick,Android,Android Fragments,Imageview,Onclicklistener,Buttonclick,在我的片段中,我有三个控件:两个imageview和一个按钮: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:layout_width="match_parent" android:id="@+id/rel_layout" android:layout_height="match_parent" xmlns:tools="http://schemas.android.com/

在我的片段中,我有三个控件:两个
imageview
和一个
按钮

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:layout_width="match_parent"
    android:id="@+id/rel_layout"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    android:background="#ffffffff"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <TextView
        android:id="@+id/heading"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:textStyle="bold"
        android:visibility="visible"
        android:textSize="25sp"
        android:layout_marginTop="10dp"
        android:layout_marginStart="10dp" />

    <ImageView
        android:id="@+id/forward"
        android:background="@drawable/chevronright"
        android:layout_below="@+id/heading"
        android:layout_alignParentEnd="true"
        android:layout_width="50dp"
        android:layout_height="50dp" />

    <ImageView
        android:id="@+id/back"
        android:background="@drawable/chevronleft"
        android:layout_below="@+id/heading"
        android:visibility="invisible"
        android:layout_alignParentStart="true"
        android:layout_width="50dp"
        android:layout_height="50dp" />

    <Button
        android:id="@+id/skip_button"
        android:text="@string/skip_button"
        style="?android:attr/buttonBarButtonStyle"
        android:layout_below="@+id/back"
        android:layout_alignParentStart="true"
        android:textStyle="bold"
        android:layout_alignParentBottom="true"
        android:gravity="bottom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="40dp"
        android:layout_marginStart="10dp"
        android:layout_marginEnd="10dp"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/heading" >

    <TextView
        android:id="@+id/body"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="normal"
        android:visibility="visible"
        android:textSize="20sp" />

    </LinearLayout>
</RelativeLayout>

如果在第一页上单击“
skip
”按钮,将调用其
onClick
()方法。但如果我点击前进或后退,除非我返回到第一页,否则不会。这是怎么回事?为什么推进页面会有所不同

尝试将android:clickable=“true”添加到图像视图中

在文件中:

android:clickable定义此视图是否对单击事件作出反应。


因此,理论上,如果clickable未设置为true,则视图的onClickListener不会被激发。

我将尝试在扩展FragmentActivity的类中设置onClickListener功能

在实现onCreateView方法的类中,定义一个静态处理程序,并使用应在扩展FragmentActivity的类中定义的静态处理程序对其进行初始化

从实现onCreateView的类创建一条android消息,发送给扩展FragmentActivity的类的静态处理程序。在此消息中,发送一个对象,该对象是将实现onClickListener的按钮。注意:从onCreateView内部创建并发送此消息

在扩展FragmentActivity的类内收到消息后,发送 对象,该对象作为驻留在扩展FragmentActivity的类内的私有方法的参数到达消息(实际上是您的按钮的视图)


在这个私有方法中,尝试设置onClick Listener功能。

我不知道为什么会这样,但我将按钮移到标题上方,没有更改任何其他内容,现在每个页面都会调用onClick()

<Button
    android:id="@+id/skip_button"
    android:text="@string/skip_button"
    style="?android:attr/buttonBarButtonStyle"
    android:layout_alignParentEnd="true"
    android:textStyle="bold"
    android:layout_marginTop="10dp"
    android:layout_alignParentTop="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<TextView
    android:id="@+id/heading"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/skip_button"
    android:textStyle="bold"
    android:visibility="visible"
    android:textSize="25sp"
    android:layout_marginStart="10dp" />


尝试将android:clickable=“true”添加到图像视图。我不明白这会有什么帮助,因为两个图像视图的onClick侦听器都可以正常工作。感谢您的建议,但我不明白它如何解释为什么按钮onClick listener在第一页上工作,而在其他页面上不工作。
<Button
    android:id="@+id/skip_button"
    android:text="@string/skip_button"
    style="?android:attr/buttonBarButtonStyle"
    android:layout_alignParentEnd="true"
    android:textStyle="bold"
    android:layout_marginTop="10dp"
    android:layout_alignParentTop="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<TextView
    android:id="@+id/heading"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/skip_button"
    android:textStyle="bold"
    android:visibility="visible"
    android:textSize="25sp"
    android:layout_marginStart="10dp" />