ImageView实现单选效果

这篇博客介绍了如何在Android开发中实现ImageView的单选效果。当点击某个ImageView时,其背景会发生变化,而其他ImageView保持默认背景。此功能通过setSelected方法进行控制,确保只有一个ImageView处于选中状态。在确定按钮被点击后,会将所选图片对应的文字传递回上一页面的TextView中。

     图片效果如下:

实现功能是,单击其中一个个人或者商家 该imageview背景发生变化,另一个还是默认的背景,他们只能有一个产生背景变化,单击确定按钮把对于图片下方的汉子返回给上一个页面对于的textview中。

具体实现是需要一个setSelected== true 或者 setSelected ==false 来判断 imageview 是否点击可以更改图片背景 

代码如下:

public class ServerSourceActivity extends BaseActivity {
    String a;   //变量
    String b;   //变量  作用是和接口打交道
    private ImageView iv_personal;  //个人 imageview
    private ImageView iv_business;  //商家 imageview


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_item_personal_scope);
        setNavBtn(R.mipmap.back, "", 0, "确定");
        setTitle("选择服务来源");
        findById();
        initData();
    }

    private void initData() {

        iv_personal.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                iv_personal.setSelected(true);
                iv_business.setSelected(false);
                a = "个人";
                b = "0";
            }
        });
        iv_business.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                iv_business.setSelected(true);
                iv_personal.setSelected(false);
                a = "商家";
                b = "1";
            }
        });
    }


    private void findById() {
        iv_personal = (ImageView) findViewById(R.id.iv_personal);
        iv_business = (ImageView) findViewById(R.id.iv_business);


    }

    @Override
    protected void HandleTitleBarEvent(TitleBar component, View v) {
        switch (component) {
            case LEFT:
                finish();
                break;
            case RIGHT:
                Intent intent = new Intent(ServerSourceActivity.this, ServiceApplyActivity.class);
                Bundle bundle = new Bundle();
                bundle.putString("sourceid", b);
                bundle.putString("source", a);
                intent.putExtra("bundle", bundle);
                setResult(4000, intent);
                finish();
                break;
        }
    }


}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值