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" />