【发布时间】:2016-10-06 21:02:35
【问题描述】:
当我尝试调用 setOnClickListener(this); 'this' 出现错误。我试图将其声明为其他东西,但这没有用。我只是想制作多个 onClick 事件。
import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.ImageButton;
import android.view.View.OnClickListener;
import android.view.View;
public class MainActivity extends Activity {
ImageButton button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageButton one = (ImageButton) findViewById(R.id.img1);
one.setOnClickListener(this);<-error
ImageButton two = (ImageButton) findViewById(R.id.img1);
one.setOnClickListener(this);<-error
ImageButton three = (ImageButton) findViewById(R.id.img2);
two.setOnClickListener(this);<-error
}
public OnClickListener onClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.img1:
button.setBackgroundResource(R.mipmap.checkmark);
break;
case R.id.img2:
button.setBackgroundResource(R.mipmap.checkmark);
break;
case R.id.img3:
button.setBackgroundResource(R.mipmap.checkmark);
break;
}
}
};
}
【问题讨论】:
-
您是否尝试阅读错误消息?是什么让您认为
this是一个有效的监听器? -
应该是
one.setOnClickListener(onClickListener)。two也一样。 -
this没有实现 OnClickListener
标签: java android android-studio