我有关于Spinner的onItemSelected方法的问题。如果我只有一个Spinner,没有问题。我可以设置一个听众。我有一个数据库存储在sqlite中。有一个表格,其中一个列字段包含具有年月日日期格式的日期。然后我创建了两个Spinner视图。一个月,一年。我的程序希望根据月份和年份的选择来显示数据库查询。是否有可能在Spinner上创建两个“setOnItemSelectedListeners”?
现在的问题是,如果我只在月份微调器上设置侦听器,它将显示基于月份的查询。如果我在年份Spinner中设置了侦听器,则会显示基于年份的查询。其实我已经准备了符合年份和月份查询的sql查询。但是,似乎OnItemSelected侦听器一次只能接受“一个”微调器实例。我尝试使用monthview.getItemAtPosition(position)& & yearview.getItemAtPosition(position)来匹配月和年的两个需求。但它失败了。
我使用公共类xxx扩展xxx实现OnItemSelected侦听器并添加两个方法。
spinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id)
{
// Do some stuff based onItemSelected
}
}
有谁知道如何实现这个目标?
简而言之,我有两个spinners,一个月,一年,值通过arrayadapter填充。然后,我使用SimpleCusrsorAdapter从sqlite数据库获取sql结果。然后我将游标结果放入listadapter中并与listview关联。如果我按照月份或年份单独操作它,但不能同时操作它,它的运行没有问题。但是,听众似乎只能同时听一个不是两个或更多的Spinner实例。可能是常见的问题。可能有些人以前已经遇到过这个问题。
或者我可以使用匿名内部类吗?但是我认为这是不同的方法和结果。如果不是,我可能需要使用另一种技术,如果只有一个监听器可用?
我想说明,例如: -I选择四月和所有年份,它会显示所有条目四月(四月在所有年份) -I选择2010年所有月份,它显示在2010年的所有条目(扬到2010年12月) - 我选择四月和2010年,它只显示2010年4月的所有条目
感谢您的解释和建议!
汤姆 最好的问候,