如何更改各种微调器值的 EditText 字段
Posted
技术标签:
【中文标题】如何更改各种微调器值的 EditText 字段【英文标题】:How to change EditText field for various spinner values 【发布时间】:2016-07-31 02:40:40 【问题描述】:我想为每个微调器选择更改 EditText 字段,我的 EditText 字段应该能够根据用户为单位字段选择的输入以英尺 + 英寸或厘米为单位进行输入,即如果用户选择公制,那么 EditText 应该改成 cm 格式,对于 FPS 系统 EditText 应该改成 Feet+inch 格式,如下图
我想我必须在微调器上使用 onClickListener,然后必须更改 EditText,但我不知道该怎么做。
【问题讨论】:
这里要加一个细节,我要在一个片段中实现这个,所以没有可用的上下文 【参考方案1】:您应该将此界面与您的微调器一起使用。 “位置”对应于微调器数组项目的位置,如果你的微调器数组是 ["inch","cm"] 那么 case 0 对应于 "inch" 而 1 是 "cm"。 我希望它会有所帮助。
//set spinner listener
mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
switch (position)
case 0:
//TODO change EditText
break;
case 1:
//TODO change EditText
break;
@Override
public void onNothingSelected(AdapterView<?> parent)
);
【讨论】:
我尝试使用它但 setOnItemSelectedListener 不可用,我必须在片段中使用它。 找不到方法“setOnItemSelectedListener”? 是的,这种方法在 Fragments 中可用,所以我想我应该将整个界面从 Fragments 更改为 Activity,这样更容易,并且 Activity 布局可以使用更多方法。【参考方案2】:感谢您抽出宝贵的时间,我得到了我想要的东西,我只是使用了一种解决方法, 我部署了三个字段 Ft、In 和 cms; Ft 表示英尺,In 表示英寸,cms 表示厘米,In spinner ft+in 和 cms 是两个选项,我将未选中选项的可见性设置为 VISIBLE.GONE。
【讨论】:
以上是关于如何更改各种微调器值的 EditText 字段的主要内容,如果未能解决你的问题,请参考以下文章