白程序员 2023-08-18 12:23 采纳率: 65.8%
浏览 7
已结题

帮我看看这个问题怎么解决

点击商品规格的时候会弹出这样一个窗口,我想已打开窗口的时候默认选中第一条数据(第一次打开的时候) 让后我在选中第二条数据并把窗口关闭,再打开窗口就选中第二条数据。类似与有一个int的数记录我选中的那条数据

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-08-18 14:06
    关注

    【以下回答由 GPT 生成】

    首先,需要在点击商品规格时弹出窗口的代码中添加一个变量来记录当前选中的规格条目的位置:

    private int selectedSpecificationIndex = 0; // 默认选中第一条数据
    

    然后,修改弹出窗口的相关代码,使其能够根据选中的规格条目位置来设置默认选中的数据:

    PopupWindow popup = new PopupWindow(view, 1300, ViewGroup.LayoutParams.WRAP_CONTENT);
    popup.setFocusable(true);
    popup.setOutsideTouchable(true);
    popup.setTouchable(true);
    
    // 根据选中的规格条目位置,设置默认选中的数据
    viewById1.setText(commodity_specifications.get(selectedSpecificationIndex).getPrice());
    viewById2.setText(commodity_specifications.get(selectedSpecificationIndex).getSpecifications());
    
    popup.showAsDropDown(view1);
    

    接下来,在点击规格条目时,更新选中的规格条目位置,并在关闭窗口后再次打开窗口时根据新的位置设置默认选中的数据。可以在规格条目的点击事件中添加以下代码:

    view.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            selectedSpecificationIndex = position; // 更新选中的规格条目位置
            // 其他处理逻辑
            popup.dismiss(); // 关闭窗口
        }
    });
    

    这样,在关闭窗口后再次打开窗口时,默认选中的数据会根据新的选中的规格条目位置而变化。

    需要注意的是,以上只是对弹出窗口及其相关的代码进行的修改,对于其他点击事件和网络请求部分的代码,需要根据实际情况进行调整和完善。此外,还需要确保代码运行环境中已经导入了相应的类和库。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月19日
  • 创建了问题 8月18日

悬赏问题

  • ¥15 Android Navigation: 某XDirections类不能自动生成
  • ¥20 C#上传XML格式数据
  • ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下
  • ¥100 单片机hardfaulr
  • ¥20 手机截图相片分辨率降低一半
  • ¥50 求一段sql语句,遇到小难题了,可以50米解决
  • ¥15 速求,对多种商品的购买力优化问题(用遗传算法、枚举法、粒子群算法、模拟退火算法等方法求解)
  • ¥100 速求!商品购买力最优化问题(用遗传算法求解,给出python代码)
  • ¥15 虚拟机检测,可以是封装好的DLL,可付费
  • ¥15 kafka无法正常启动(只启动了一瞬间会然后挂了)