请问在imageButton的setOnClickListener里面设置这种判断为什么不起作用 到现在还拿==判断两个Object ? ^^ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看起来像是Boolean ifTheOne = (mImageButton1.getDrawable() == getResources().getDrawable(R.drawable.red));这个的问题TextView.setText(String.valueOf(ifTheOne));的结果一直都是false但是怎么判断这两个drawable object 呢? 哈。sorry,java也是刚开始学,你这一说想起来了,嘿嘿,多谢啊 这个只有LZ你自己查看LOG , 看每次点击过后对应的ifTheOne变量变了没 ,而且我觉得LZ即使用这个方式 , 那种思维也有点不对。我上一段代码你看看。public void onClick(View view) { if(isClick) { //把图片资源转化为流,然后设置为按钮背景 isImage = context.getResources().openRawResource(R.drawable.xxx); dbImage = Drawable.createFromStream(isImage, "xxx"); button.setBackgroundDrawable(dbImage); isClick = false; } else { isImage = context.getResources().openRawResource(R.drawable.yyy); dbImage = Drawable.createFromStream(isImage, "yyy"); button.setBackgroundDrawable(dbImage); isClick = true; }}LZ应该最好每次点击 , 改变你的那个布尔型变量 ,然后根据你的这个变量来做IF判断 , 然后再加载不同的图源 你的方法可行,但是我有两个问题1. 如果我改成这样子,每次点击按钮就会改变boolean的值,跟你的方法感觉很像啊2. 使用openRawResource以及Drawable.createFromStream与我直接使用R.id.xxx或者Drawable.setImageDrawable(getResources().getDrawable(R.drawable.red))有什么不一样的么?你的效率会更高么?这个我刚接触,不太明白,求教下最后谢谢你给的方法:)package irdc.EX04_02;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.ImageButton;public class EX04_02 extends Activity { private ImageButton mImageButton1; public static boolean ifTheOne = true; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mImageButton1 = new ImageButton(this); mImageButton1.setImageResource(R.drawable.red); setContentView(mImageButton1); mImageButton1.setOnClickListener(new OnClickListener() { public void onClick(View v) { if(ifTheOne) { mImageButton1.setImageResource(R.drawable.yellow); } else{ mImageButton1.setImageResource(R.drawable.red); } ifTheOne = !ifTheOne; } } ); }} mTextView1.setText(String.valueOf(getResources().getDrawable(R.drawable.iconfull)));mTextView1.setText(String.valueOf(mImageButton1.getDrawable()));得到下面的值android.graphics.drawable.BitmapDrawable@43d1da78其中@之后的数字每次都不一致,所以导致mImageButton1.getDrawable().equals( getResources().getDrawable(R.drawable.red))返回结果一直为false 关于android下载大图问题 怎么把imagview里的图片从左到右逐渐画出来? 搞android的同行来说说android工程师的待遇吧 android真机测试问题 service频繁bind unbind后forceclose 继承了一个VIEW,为什么不能用VIEW的PROTECTED变量呢 layout布局,怎样布局后呈现圆形? 在asyncTask解析XML就会报错 Android 关机时间 视频讲解Android面试题【超清,不断更新】 不知道什么原因Activity的onSaveInstanceState未被调用,达人帮忙啊!! 怎么计算音频的声强,分贝!
Boolean ifTheOne = (mImageButton1.getDrawable() == getResources().getDrawable(R.drawable.red));
这个的问题
TextView.setText(String.valueOf(ifTheOne));
的结果一直都是false但是怎么判断这两个drawable object 呢?
public void onClick(View view) {
if(isClick) {
//把图片资源转化为流,然后设置为按钮背景
isImage = context.getResources().openRawResource(R.drawable.xxx);
dbImage = Drawable.createFromStream(isImage, "xxx");
button.setBackgroundDrawable(dbImage);
isClick = false;
} else {
isImage = context.getResources().openRawResource(R.drawable.yyy);
dbImage = Drawable.createFromStream(isImage, "yyy");
button.setBackgroundDrawable(dbImage);
isClick = true;
}
}
LZ应该最好每次点击 , 改变你的那个布尔型变量 ,然后根据你的这个变量来做IF判断 , 然后再加载不同的图源
1. 如果我改成这样子,每次点击按钮就会改变boolean的值,跟你的方法感觉很像啊
2. 使用openRawResource以及Drawable.createFromStream与我直接使用R.id.xxx或者Drawable.setImageDrawable(getResources().getDrawable(R.drawable.red))有什么不一样的么?你的效率会更高么?这个我刚接触,不太明白,求教下最后谢谢你给的方法:)
package irdc.EX04_02;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;public class EX04_02 extends Activity
{
private ImageButton mImageButton1;
public static boolean ifTheOne = true; /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
mImageButton1 = new ImageButton(this);
mImageButton1.setImageResource(R.drawable.red);
setContentView(mImageButton1);
mImageButton1.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
if(ifTheOne)
{
mImageButton1.setImageResource(R.drawable.yellow);
}
else{
mImageButton1.setImageResource(R.drawable.red);
}
ifTheOne = !ifTheOne;
}
}
);
}
}
mTextView1.setText(String.valueOf(mImageButton1.getDrawable()));
得到下面的值
android.graphics.drawable.BitmapDrawable@43d1da78其中@之后的数字每次都不一致,所以导致
mImageButton1.getDrawable().equals( getResources().getDrawable(R.drawable.red))
返回结果一直为false