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

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

img

【以下回答由 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(); // 关闭窗口
    }
});

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

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



【相关推荐】



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