我想保留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了,这样的花,就简单的多了。