Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ImageView可以';不要像按钮一样被点击 除了onClick()方法外,一切都正常。它根本不起作用。当我单击3幅图像中的任何一幅时,什么都没有发生 我知道我可以用Button或ImageButton解决这个问题,但是我的代码中的bug在哪里呢_Java_Android_Xml - Fatal编程技术网

Java ImageView可以';不要像按钮一样被点击 除了onClick()方法外,一切都正常。它根本不起作用。当我单击3幅图像中的任何一幅时,什么都没有发生 我知道我可以用Button或ImageButton解决这个问题,但是我的代码中的bug在哪里呢

Java ImageView可以';不要像按钮一样被点击 除了onClick()方法外,一切都正常。它根本不起作用。当我单击3幅图像中的任何一幅时,什么都没有发生 我知道我可以用Button或ImageButton解决这个问题,但是我的代码中的bug在哪里呢,java,android,xml,Java,Android,Xml,以下是我代码的一部分: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //...... discover = (ImageView) findViewById(R.id.discover); to_new = (ImageView) findViewById(R.id.to_new); me = (ImageView) fin

以下是我代码的一部分:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //......
    discover = (ImageView) findViewById(R.id.discover);
    to_new = (ImageView) findViewById(R.id.to_new);
    me = (ImageView) findViewById(R.id.me);
}

@Override
public void onClick(View v) {
    switch(v.getId()){
    case R.id.discover:
        discover.setImageResource(R.drawable.discover_2);
        to_new.setImageResource(R.drawable.to_new);
        me.setImageResource(R.drawable.me);
        break;
    case R.id.to_new:
        discover.setImageResource(R.drawable.discover);
        to_new.setImageResource(R.drawable.to_new_2);
        me.setImageResource(R.drawable.me);
        break;
    case R.id.me:
        discover.setImageResource(R.drawable.discover);
        to_new.setImageResource(R.drawable.to_new);
        me.setImageResource(R.drawable.me_2);
        break;
    }
}
XML:



您没有在视图中调用
setOnClickLister
。例如

me.setOnClickListener(this);

,在本例中是实现
视图.OnClickListener
界面的活动。通过这种方式,您告诉视图,当单击事件发生时,必须调用
对象中实现的
onClick
方法

您没有在视图上调用
setOnClickLister
。例如

me.setOnClickListener(this);

,在本例中是实现
视图.OnClickListener
界面的活动。通过这种方式,您告诉视图,当单击事件发生时,必须调用在
对象中实现的
onClick
方法

您忘记在onCreate()中设置OnClickListener

有关更多详细信息,请参见下面的参考链接示例


您忘记在onCreate()中设置OnClickListener

有关更多详细信息,请参见下面的参考链接示例

试试这个方法-

discover.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

        }
    });

    to_new.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

        }
    });
    me.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

        }
    });
试着这样-

discover.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

        }
    });

    to_new.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

        }
    });
    me.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

        }
    });

在create方法中调用onclick方法

discover.setOnClickListener(新的OnClickListener(){


在create方法中调用onclick方法

discover.setOnClickListener(新的OnClickListener(){


将复选框改为ImageView将复选框改为ImageView在oncreate方法中调用onClick()方法你忘记了调用oncreate方法中的onClick()方法你忘记了