我创建了一个自定义视图并设置了onClick
,但它无效。它通过错误IllegalStateException: Could not find a method
虽然当我使用默认视图尝试它时工作正常。
<com.package.name.CircularTextView
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_margin="2dp"
android:onClick="colorClicked"
android:tag="#ffaacc"
app:solidColor="#ffaacc" />
<TextView
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_margin="2dp"
android:onClick="colorClicked"
android:text="adhaksjd asdas kd" />
MainActivity
public void colorClicked(View view) {
Log.i(TAG, "color clicked...");
/*fragCameraDrawing = (Drawing) getFragmentManager().findFragmentByTag("cameraDrawing");
fragmentCommunicator = (FragmentCommunicator) fragCameraDrawing;
fragmentCommunicator.passingView(view);*/
}
对于自定义视图,这不起作用,但使用默认视图。你能告诉我我做错了什么吗?
答案 0 :(得分:3)
android:onClick="colorClicked"
当添加到片段而不是使用onClickListener时,这不起作用,或者在Click to the Activity上添加它。
答案 1 :(得分:1)
在自定义视图中使用setOnclickListener
。
喜欢这个。
class CircularTextView extends view implement view.OnClickListener{
//other code
// inside constructor
this.setOnClickListener(this);
public void onClick(View v){
Log.i(TAG, "color clicked...");
}
}