gpt4 book ai didi

Android/更改特定微调项中的文本

转载 作者:行者123 更新时间:2023-11-29 18:28:18 26 4
gpt4 key购买 nike

我正在为珠宝店设计一个移动应用程序。在 Android 中,对于珠宝产品描述页面,我有一个带有一些戒指尺寸的 Spinner,它们的文本 525 通过使用自定义数组列表适配器设置。

我有一个 18 carat22 carat 的单选组与微调器一起工作,如果选择了不同的克拉单选按钮,则微调器文本应该仅针对几个戒指尺寸进行更改,例如 17 - Ships in 24 hours 如果戒指尺寸已准备好发货,18 如果戒指尺寸需要根据客户订单新制作。

为此,如果选择了不同大小的单选按钮,我会创建一个新的数组列表,再次为微调器添加所有新文本,然后再次使用数组适配器。

ArrayAdapter adapter = new ArrayAdapter(Description.this, android.R.layout.simple_spinner_item, sizes);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s1.setAdapter(adapter);

这样做时,微调器始终自动默认为第一个项目 5,即使之前选择的微调器项目是,例如,不同克拉的 17 大小单选按钮。

同时,同一 Activity 中其他 TextView 对应的其他详细信息,例如价格、折扣、制作费用、黄金重量、交货日期、产品是否准备好发货等,将自动默认为戒指尺寸 5

那么,如果选择了不同的 carat Radio Button,是否可以通过编程方式更改特定 Spinner 项目的文本?是否可以在不创建新数组列表、向其中添加所有新文本并再次使用数组适配器的情况下实现这一目标?如果是这样的话?

最佳答案

如果 sizes 是 ArrayList,要更改微调器中的特定项目,请尝试使用

sizes.set(index,newItem)

如果你想把第3项改成10,

sizes.set(2,10) //I am assuming the sizes arraylist is integer arraylist. if not change to required data type

然后执行

adapter.notifyDataSetChanged() // This will refresh you spinner.

而不是重新设置微调器上的适配器。然后如果你想,执行

s1.setSelection(2)

s1.setAdapter(adapter); 应该只执行一次(当微调器初始化时)。

public void refreshSpinner(int index,int newValue){ 
sizes.set(index,newValue);
adapter.notifyDataSetChanged();

//Only if you want to select the new value
s1.setSelection(index);
}

关于Android/更改特定微调项中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57709133/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com