到现在还拿==判断两个Object ? ^^
解决方案 »
- 从后台唤醒onRestart的疑问
- 真机做TCPClient,PC做Server,无法通讯,模拟器可以,有朋友遇到过这个问题吗?
- 求关于android,
- 请问如何才能生产一个日历的dialog?谢谢
- android 有没有选择框控件
- Android源码下完后的./repo
- android.database.sqlite.SQLiteDiskIOException: disk I/O error
- 监听Settings.System.RINGTONE
- 长名称应用的名称显示问题
- 谁会的,帮帮我做。。。
- 不知道什么原因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