【发布时间】:2012-04-30 01:53:04
【问题描述】:
我想在用户选择微调器值时捕获 onClick 事件。
我已经尝试实现OnClickListener 并使用以下代码:
@Override
public void onClick(final View view) {
if (view == countrySpinner) {
Toast.makeText(this, "Override OK!", 3);
}
}
并绑定:
countrySpinner.setOnClickListener(this);
这可以编译,但我收到了一个RuntimeException,建议我使用OnItemClickListener 而不是OnClickListener 作为AdapterView。
如何捕获该 onClick 事件?
【问题讨论】:
-
Spinner不支持点击事件,因为异常清楚地告诉您。要么使用选择事件,要么不使用Spinner。 -
@CommonsWare,那么我将如何不急于从 Web 服务加载 Spinner 列表项呢?是不是不可能做到这一点? (似乎是一个很大的限制!)
-
将内容加载到
Spinner与单击事件无关,就像生成网页与在浏览器中加载后单击页面本身的链接有关。我不知道你认为“热切”是什么。如果您对填写Spinner有任何疑问,请打开一个新的 SO 问题。 -
正如 CommonsWare 所说,您无需等到用户单击您的微调器来填充它。您可以通过设置 ArrayAdapter 来填充它。那里有教程,还有一个here(尽管他们使用本地资源来填充微调器)。只需通过网络电话获取您的微调器项目,然后创建一个 ArrayAdapter。
标签: android android-widget android-spinner