我想保留button的选中状态,用上了setPressed(true)之后发现一个问题。第一次显示Button可以达到设置该Button的状态为选中,但是当点击button后(这里在这个button的onclick方法里面设置setPressed(true))发现选中状态为未选中。达不到想要的效果。最后网上有人看到一个思路:用代码直接改变背景图片可以间接的改变这个问题。效果图:
简单的代码如下:
public void onClick(View v) { switch (v.getId()) { case R.id.show_friends: //showFriends.setPressed(true); //showShares.setPressed(false); showShares.setBackgroundResource(R.drawable.light_gray); showFriends.setBackgroundResource(R.drawable.rounded_border_1); break; case R.id.show_shares: showShares.setPressed(true); showFriends.setPressed(false); showFriends.setBackgroundResource(R.drawable.light_gray); showShares.setBackgroundResource(R.drawable.rounded_border_1); break; default: break; } }
不过现在有一个简单的办法,就是使用RadioGroup了,这样的花,就简单的多了。