android实现点击图标变换图标,等!
4个回答
推荐于2018-03-28
展开全部
你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;
}
}
});
如果为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;
}
}
});
博思aippt
2024-07-20 广告
2024-07-20 广告
博思AIPPT是基于ai制作PPT的智能在线工具,它提供了4种AI制作PPT的方式,包括AI生成大纲、AI直接生成PPT、文本生成PPT、AI提炼文档生成PPT,一站式集成多种AI生成PPT的方式,可满足办公用户的不同需求和使用场景。ai生...
点击进入详情页
本回答由博思aippt提供
展开全部
兄弟这样搞太麻烦了,在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>
<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>
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-30
展开全部
if(x=true)会先执行x=true,再判断x的真假,这样一来,代码执行到这里时,x总为真,所以else块是不会走的。像int i = 0; if(i=0)...这样是编译不过的,和上面的一样,代码会先执行i=0,再判断i的真假,但i不是boolean类型,类型不兼容,所以是编译不过的。
所以要用的话就用if(x)或者if(true==x)
所以要用的话就用if(x)或者if(true==x)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
⊙﹏⊙b汗,判断语句是x==true,一个等号是赋值语句呀亲,你换了试试看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询