我已经找到了一些类似的问题答案,为微调器设置了onClick列表器,但这些响应似乎对我不起作用。也许我正在做点工作。
我想根据在微调器上选择的内容更新EditText的字段提示。
我发现这应该有效:
public void selectHint() { //Asign function to spinner
final int[] selectionCurrent = {sel_spinner.getSelectedItemPosition()};
sel_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (selectionCurrent[0] != position){
updateHint();
}
selectionCurrent[0] = position;
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
为了完整性我如何更新它,也许问题出在那里:
public void updateHint(){ //Decide from db
int option;
Cursor res = myDB.getValue(sel_spinner.getSelectedItem().toString());
if (res.getCount() == 0) {
Toast.makeText(this, R.string.error, Toast.LENGTH_LONG).show();
} else {
res.moveToNext();
option=res.getInt(0);
if (option==1) {
edit_text.setHint(R.string.value1);
}
else {
edit_text.setHint(R.string.value2);
}
}
}
知道我做错了什么吗?我没有收到任何错误提示。