Android 扩展布局中未调用onClick
为什么onClickListener在我的扩展Android 扩展布局中未调用onClick,android,Android,为什么onClickListener在我的扩展线性布局中没有被调用?当我在活动的布局中包括设置_1时,onClick不会触发 以下是复合控件的布局: setting.xml <?xml version="1.0" encoding="utf-8" ?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pare
线性布局中没有被调用?当我在活动的布局中包括设置_1
时,onClick不会触发
以下是复合控件的布局:
setting.xml
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp" />
<TextView
android:id="@+id/status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp" />
</LinearLayout>
下面是实现上述抽象类的类
设置_1.java
public class setting_1 extends IntegerSettingLayout{
public Setting_WeekFrequency(Context context, AttributeSet attrs) {
super(context, attrs);
...
}
@Override
String getStatus() {
if(BuildConfig.DEBUG) {Log.d(LOG_TAG,"getStatus");}
}
}
添加此。可设置可点击(true)代码>添加到构造函数。添加此。可设置单击(true)代码>到您的构造函数。您实际上还没有注册您的OnClickListener
。为此,您需要调用setOnClickListener()
,或者在XML中使用android:onClick
属性。您实际上还没有注册OnClickListener
。为此,您需要调用setOnClickListener()
,或者在XML中使用android:onClick
属性。onClick
是一个侦听器,您必须触发它才能工作,您可以通过从XML调用带有onClick=“/code>的方法,或者通过引用活动的onClick()
方法中的视图id来实现。或者,如果您想在不单击任何视图的情况下触发它,只需调用getActivity.setClickable(true)代码>到你的构造函数。@hrskrs我做的实现了OnClickListener
。所以onClick
应该可以工作吗?是的,但是因为你实现了,你必须触发yourView.setOnClickListener(这个)
和onClick()
方法您可以使用开关{case:R.id.yourViewId}
onClick
是一个监听器,您必须触发它才能工作,您可以通过从Xml调用带有onClick=”“
的方法,或者通过引用活动的onClick()
方法中的视图id来实现。或者,如果您想在不单击任何视图的情况下触发它,只需调用getActivity.setClickable(true)代码>到你的构造函数。@hrskrs我做的实现了OnClickListener
。所以onClick
应该可以工作吗?是的,但是因为你实现了,你必须触发yourView.setOnClickListener(这个)
和onClick()
方法您可以使用开关{case:R.id.yourViewId}
在扩展布局类时使用implements OnClickListener
难道还不够吗?谢谢。我必须执行setOnClickListener(this)
。在扩展布局类时使用implements OnClickListener
难道还不够吗?谢谢你说得对。我必须做setOnClickListener(这个)
。这没什么区别
public class setting_1 extends IntegerSettingLayout{
public Setting_WeekFrequency(Context context, AttributeSet attrs) {
super(context, attrs);
...
}
@Override
String getStatus() {
if(BuildConfig.DEBUG) {Log.d(LOG_TAG,"getStatus");}
}
}