Android 如何在单击时使ImageView不可见

Android 如何在单击时使ImageView不可见,android,Android,我对开发人员和EclipseIDE都是新手。。我正在尝试创建一个简单的应用程序,当您单击图像时,单击的图像将变得不可见 以下是java代码: package com.example.capstone; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickList

我对开发人员和EclipseIDE都是新手。。我正在尝试创建一个简单的应用程序,当您单击图像时,单击的图像将变得不可见

以下是java代码:

package com.example.capstone;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;

public class Levelone extends Activity implements OnClickListener
{


        Button nextlevel;
        Button Main;
        ImageButton eagle;

        protected void onCreate(Bundle onSavedInstanceState) {
        super.onCreate(onSavedInstanceState);
        setContentView(R.layout.levelone);
        nextlevel = (Button)findViewById(R.id.btnNextlvl);
        nextlevel.setOnClickListener(this);
        Main = (Button)findViewById(R.id.btnMain);
        Main.setOnClickListener(this);
        }

        @Override
        public void onClick(View arg0) {
                // TODO Auto-generated method stub
                if(arg0.getId()==R.id.imgEagle)
                {
                        eagle = (ImageButton)findViewById(R.id.imgEagle);
                eagle.setVisibility(View.GONE);
                }

        }

}

您没有将
单击
事件绑定到图像

    eagle.setOnClickListener(this);

使用
onCreate
中的
findById
,就像使用
Main
一样,定位
eagle
。代码的其余部分应保持不变,尽管在
onClick
中再次使用
findById
是不必要的,但您可以只使用
(ImageButton)arg0
eagle
引用。

您没有将
单击事件绑定到图像

    eagle.setOnClickListener(this);

使用
onCreate
中的
findById
,就像使用
Main
一样,定位
eagle
。代码的其余部分应保持不变,尽管在
onClick
中再次使用
findById
是不必要的,但您可以使用
(ImageButton)arg0
eagle
参考

eagle = (ImageButton)findViewById(R.id.imgEagle);
eagle.setOnClickListener(this);
您忘记使用布局中的适当小部件定义
eagle
按钮,并且没有将
单击
事件处理程序附加到
eagle

onClick

@Override
public void onClick(View arg0) {
    switch(arg0.getId()){
        case R.id.imgEagle:
            eagle.setVisibility(View.GONE);
        break;

        case R.id.btnMain:
            //do something else
        break;

        case R.id.btnNextlvl:
            //do something else     
        break;  
    }
}

最好使用
switch
避免出现大量
if-else
语句。它还使代码更具可读性

onCreate
中放置此

eagle = (ImageButton)findViewById(R.id.imgEagle);
eagle.setOnClickListener(this);
您忘记使用布局中的适当小部件定义
eagle
按钮,并且没有将
单击
事件处理程序附加到
eagle

onClick

@Override
public void onClick(View arg0) {
    switch(arg0.getId()){
        case R.id.imgEagle:
            eagle.setVisibility(View.GONE);
        break;

        case R.id.btnMain:
            //do something else
        break;

        case R.id.btnNextlvl:
            //do something else     
        break;  
    }
}

最好使用
switch
避免出现大量
if-else
语句。它还使代码更具可读性

@uʍopǝpısdn你的名字真有创意!!@你的名字真有创意!!谢谢你,兄弟,成功了,非常感谢你。。。非常感谢您的帮助……:)这不是一个好答案,无论是对未来的其他人来说。你改变了什么?为什么?@Simon为什么这不是一个好答案?是出了什么问题还是我应该多解释一下?让我知道,我会努力改进的。谢谢你,兄弟,成功了,非常感谢你。。。非常感谢您的帮助……:)这不是一个好答案,无论是对未来的其他人来说。你改变了什么?为什么?@Simon为什么这不是一个好答案?是出了什么问题还是我应该多解释一下?让我知道,我会努力改进。我想你应该说使用
findviewbyd
,因为没有使用
findById
name的方法。我想你应该说使用
findviewbyd
,因为没有使用
findById
name的方法