android实现点击图标变换图标,等!
发布网友
发布时间:2022-04-29 02:19
我来回答
共4个回答
热心网友
时间:2022-06-28 14:20
你x是boolean型,你只声明,并没有赋值。所以默认为false;
如果为false,则会把你的图片改为R.drawable.play,然后你没把x变为true,那他永远都走else这个里面的事件,怎么会变!
*况且!判断这个boolean型是否为真用双等于号
if(x==true)等于if(x)
if(x==false)等于if(!x)
你自己理解一下,单等号为赋值,将右边的值赋给左边的变量。
你可以这么写
b2s.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
if(x){
b2s.setImageDrawable(getResources().getDrawable(R.drawable.pause));
x=false;
}else{
b2s.setImageDrawable(getResources().getDrawable(R.drawable.play));
x=true;
}
}
});
热心网友
时间:2022-06-28 14:20
兄弟这样搞太麻烦了,在drawable里写一个xml ,selector类型,
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:drawable="@drawable/b_biaozhu" />//当获得焦点是哪张图
<item android:state_pressed="true" android:drawable="@drawable/a_biaozhu" />//当按钮按下是哪张图
<item android:state_selected="true" android:drawable="@drawable/b_biaozhu" />//当按钮失去焦点是哪张图
<item android:drawable="@drawable/a_biaozhu" />
</selector>
热心网友
时间:2022-06-28 14:21
if(x=true)会先执行x=true,再判断x的真假,这样一来,代码执行到这里时,x总为真,所以else块是不会走的。像int i = 0; if(i=0)...这样是编译不过的,和上面的一样,代码会先执行i=0,再判断i的真假,但i不是boolean类型,类型不兼容,所以是编译不过的。
所以要用的话就用if(x)或者if(true==x)
热心网友
时间:2022-06-28 14:21
⊙﹏⊙b汗,判断语句是x==true,一个等号是赋值语句呀亲,你换了试试看