Android 如何在单击时使ImageView不可见
我对开发人员和EclipseIDE都是新手。。我正在尝试创建一个简单的应用程序,当您单击图像时,单击的图像将变得不可见 以下是java代码: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
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的方法