Java Android Spinner有时不起作用

Java Android Spinner有时不起作用,java,android,listview,android-listview,android-spinner,Java,Android,Listview,Android Listview,Android Spinner,我正在开发Android应用程序,其中我正在Spinner和ListView之间玩。 我在微调器中有几个值,当我从微调器中选择值,将其添加到ListView中,然后从微调器中删除它们时,我正在做什么。很明显,它工作正常,但在某些情况下,未触发OnItemSelected。 例如,我在微调器中有四个值 - Spinner ListView FirstValue Empty at start S

我正在开发Android应用程序,其中我正在Spinner和ListView之间玩。 我在微调器中有几个值,当我从微调器中选择值,将其添加到ListView中,然后从微调器中删除它们时,我正在做什么。很明显,它工作正常,但在某些情况下,未触发OnItemSelected。 例如,我在微调器中有四个值

 - Spinner                        ListView

   FirstValue                      Empty at start 
   SeccondVlaue
   ThirdValue 
   Forth Value
我已经从微调器中选择了第一个值、事件火和移除的值,并将其添加到ListView中,它工作得非常好。所以现在spinner和listview的情况是

Spinner                        ListView

                            FirstValue
SeccondVlaue
ThirdValue 
Forth Value
现在,当我再次从微调器中选择SecondValue时,事件没有触发,并且无法从微调器中删除值,而如果我选择了ForthValue,则事件将触发,值将添加到listview中。同样,它也不适用于其他场景。我不知道为什么它不起作用。这是我的活动代码

package com.example.hotel\u finance\u management

导入java.util.ArrayList; 导入java.util.List

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;

public class Add_Budget_Activity extends Activity {
    private Spinner spinner1;
    public ArrayList<String> Spinner_arraylist;
    public ArrayAdapter<String> Spinner_Adapter;
    public List<Members> memobject;

    int counter=0;
    int  clickCounter=0;

    public ListView list;
    public ArrayAdapter<String> List_Adapter;
    public ArrayList<String> arrayListView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.add_budget);
        list = (ListView) findViewById(R.id.add_budget_list);
        spinner1 = (Spinner) findViewById(R.id.spinner1);

        Spinner_arraylist = new ArrayList<String>();
        arrayListView = new ArrayList<String>();

        memobject=Members.listAll(Members.class);
        Spinner_arraylist.add("Select your Value");

        for(int i=0;i<memobject.size();i++)
        {
          Spinner_arraylist.add(memobject.get(i).getName());
     //     Toast.makeText(getApplicationContext(), " Name "+memobject.get(i).getName()+" Position = "+i, Toast.LENGTH_SHORT).show();

        }

        Spinner_Adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,Spinner_arraylist);
        Spinner_Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner1.setAdapter(Spinner_Adapter);   


        spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {                
             Toast.makeText(getApplicationContext(), "Listener is fire",Toast.LENGTH_SHORT).show();

            if(!(counter==0))
                {   
                Toast.makeText(getApplicationContext(), "Selected Name is  ="+spinner1.getSelectedItem().toString(),Toast.LENGTH_SHORT).show();

//             Toast.makeText(getApplicationContext(), "Seleected Name is ="+memobject.get(position-1).getName(), Toast.LENGTH_SHORT).show();
               arrayListView.add(spinner1.getSelectedItem().toString());
                list.setAdapter(List_Adapter);
               Spinner_arraylist.remove(spinner1.getSelectedItem().toString());
                }
                counter=1;
               }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
            }
        });  
        List_Adapter = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1, arrayListView)
                {
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                  View view = super.getView(position, convertView, parent);
                  TextView text = (TextView) view.findViewById(android.R.id.text1);
                  text.setTextColor(Color.BLACK);
                  return view;
              }
            };

}
}
在删除或添加活动适配器下面的ArrayList元素后,需要调用myAdapter.notifyDataSetChanged