onclick不能在自定义视图android中工作

时间:2017-07-04 08:24:13

标签: android

我创建了一个自定义视图并设置了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);*/
}

对于自定义视图,这不起作用,但使用默认视图。你能告诉我我做错了什么吗?

2 个答案:

答案 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...");
}
}