Android 微调器OnItemSelectedListener双击问题

Android 微调器OnItemSelectedListener双击问题,android,android-spinner,Android,Android Spinner,我遇到了一个奇怪的问题。我的OnItemSelectedListener似乎只工作一次,我的意思是,它在第一次单击响应项时显示我的测试土司,但在第二次单击同一项时不显示测试土司。(在第二次单击其他项时确实工作)问题出在哪里?请帮帮我 部分代码在这里 //get task object from menu taskListArr = new ArrayList<Task>(); taskListArr = getCurrentTasks(taskLis

我遇到了一个奇怪的问题。我的OnItemSelectedListener似乎只工作一次,我的意思是,它在第一次单击响应项时显示我的测试土司,但在第二次单击同一项时不显示测试土司。(在第二次单击其他项时确实工作)问题出在哪里?请帮帮我

部分代码在这里

        //get task object from menu
    taskListArr = new ArrayList<Task>();

    taskListArr = getCurrentTasks(taskListArr);

    myTask=new TaskListAdapter(this, 0, taskListArr);
    ArrayAdapter<String> aa = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, TaskModel.sorts);
    aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    sortSpinner.setAdapter(aa);
    sortSpinner.setOnItemSelectedListener(this);



    @SuppressWarnings("unchecked")
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
        long arg3) {
    if(arg2 == 0){
        Toast.makeText(getApplicationContext(), "1", Toast.LENGTH_SHORT).show();
        Collections.sort(taskListArr);
        taskListView.setAdapter(myTask);
    }
    if(arg2 == 1){
        Toast.makeText(getApplicationContext(), "2", Toast.LENGTH_SHORT).show();
        Collections.sort(taskListArr, new DateComparator());
        taskListView.setAdapter(myTask);
    }
    if(arg2 == 2){
        Toast.makeText(getApplicationContext(), "3", Toast.LENGTH_SHORT).show();
        Collections.sort(taskListArr, new PriorityComparator());
        taskListView.setAdapter(myTask);
    }
    position = arg2;
}

public void onNothingSelected(AdapterView<?> arg0) {

}
//从菜单中获取任务对象
taskListArr=newarraylist();
taskListArr=getCurrentTasks(taskListArr);
myTask=新的TaskListAdapter(this,0,taskListArr);
ArrayAdapter aa=新的ArrayAdapter(此,
android.R.layout.simple_微调器_项,TaskModel.sorts);
aa.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
sortSpinner.setAdapter(aa);
sortSpinner.setOnItemSelectedListener(此);
@抑制警告(“未选中”)
已选择公共视图(适配器视图arg0、视图arg1、内部arg2、,
长arg3){
如果(arg2==0){
Toast.makeText(getApplicationContext(),“1”,Toast.LENGTH\u SHORT.show();
Collections.sort(taskListArr);
taskListView.setAdapter(myTask);
}
如果(arg2==1){
Toast.makeText(getApplicationContext(),“2”,Toast.LENGTH_SHORT.show();
Collections.sort(taskListArr,newdatecomparator());
taskListView.setAdapter(myTask);
}
如果(arg2==2){
Toast.makeText(getApplicationContext(),“3”,Toast.LENGTH_SHORT.show();
Collections.sort(taskListArr,new PriorityComparator());
taskListView.setAdapter(myTask);
}
位置=arg2;
}
未选择公共无效(AdapterView arg0){
}

在android开发者网站上查看spinner


它一次选择一个子对象。因此,再次选择已选择的子对象将不会调用onItemSelected函数。

我同意用户936414的回答,他是对的,但如果您仍然希望吐司再次出现,请在微调器上添加一个触控式侦听器,并在ontouch事件中添加此项

line sortSpinner.setOnItemSelectedListener(this);

每次触摸时,您的微调器侦听器都会再次被调用,并且您每次都会选中项目

谢谢您的解释,但我仍然需要弄清楚如何多次调用它。我会尝试一下,但它似乎不起作用。也许我需要创建一个自定义适配器来处理这个问题。Sry,我尝试过,但失败了。我使用菜单侦听器来实现这个问题。谢谢
line sortSpinner.setOnItemSelectedListener(this);