java - 如果元素与 Spinner 的 onItemSelected () 元素相关联,则 SetText () 方法不起作用
问题描述
我有一个具有 EditText 和 Spinner 的活动,在其中选择 Spinner 的元素时,所选元素必须显示在 EditText 中。在那之前一切都很顺利。但是,如果我想在 Spinner 的 onItemSelected 方法之外为该 EditText 分配一个值,它根本不会显示我使用 setText 方法分配给它的字符串。
deps = new ArrayList<>();
cargarDeps();
deps.add("");
adapterSPDep = new ArrayAdapter<String>(this, R.layout.lista_sp, deps);
spDep.setAdapter(adapterSPDep);
spDep.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int pos, long id) {
auxDep = (String) adapterView.getItemAtPosition(pos);
txtDep.setText(auxDep);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// txtDep.setText(auxDep);
}
});
该代码在我的活动的 onCreate 中,我的方法“cargaDeps()”链接到一个 Web 服务,该服务获取所有存在的部门,我将其保存在 ArrayList“deps”中。在 Spinner 的 onItemSelected () 方法中,我指定了我的 EditText 被选中的内容。但是当我调用这个方法时:
public void rellenar(String[] campos) {
txtNum.setText(campos[4]);
txtFecha.setText(campos[1]);
txtHora.setText(campos[2]);
txtDes.setText(campos[3]);
txtTipo.setText(campos[4]);
txtDep.setText(auxDep);
txtReporta.setText(campos[6]);
txtAtiende.setText(campos[7]);
}
在 txtDep.setText (auxDep); 没有赋值。
解决方案
创建一个全局字符串值并将您想要从微调器获取的值分配给字符串值。
推荐阅读
- bash - 如何在终端中测试 Bash 文件
- django - 我的 Django 表单中的数据未添加到我的数据库中,因为我无法在网页上查看它
- css - 分配 CSS 属性时图像模糊
- python-3.x - 如何将 pip3 包安装到私有实例?
- python - 如果达到大小限制,则替换队列中的项目
- python - 如何用另一个数组索引多维数组?
- python - Tkinter 使用 OOP 时遇到问题
- python - AttributeError:“NoneType”对象没有使用 Pandas 数据框的 Google 翻译 API 的属性“组”
- c++ - 创建一个缓冲区来存储二进制数据以便以后保存到文件中
- python - 使用beautifulsoup在python中抓取时出现的问题