Carte réseau Android avec ArrayList et ListView ne se mettant pas à jour lorsque l'arraylist est modifié

J'ai une application android avec un écran qui se compose d'une ListView, je l'utilise pour afficher une liste des périphériques. Ces appareils sont détenus dans un tableau.

Je suis en train d'utiliser le ArrayAdapter pour afficher ce qui est dans le tableau sur l'écran dans une liste.

Il fonctionne lorsque j'ai d'abord charger le SetupActivity classe, cependant, il est la facilité pour ajouter un nouveau périphérique dans la addDevice() méthode, ce qui signifie que la matrice de la tenue de l'instrument est mis à jour.

Je suis en utilisant notifyDataSetChanged() qui est censé mettre à jour la liste, mais il ne semble pas fonctionner.

public class SetupActivity extends Activity
{   
    private ArrayList<Device> deviceList;

    private ArrayAdapter<Device> arrayAdapter;

    private ListView listView;

    private DevicesAdapter devicesAdapter;

    private Context context;

    public void onCreate(Bundle savedInstanceState)  //Method run when the activity is created
    {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.setup);  //Set the layout

        context = getApplicationContext();  //Get the screen

        listView = (ListView)findViewById(R.id.listView);

        deviceList = new ArrayList<Device>();

        deviceList = populateDeviceList();  //Get all the devices into the list

        arrayAdapter = new ArrayAdapter<Device>(this, android.R.layout.simple_list_item_1, deviceList);

        listView.setAdapter(arrayAdapter);  
    }

    protected void addDevice()  //Add device Method (Simplified)
    {
        deviceList = createNewDeviceList();    //Add device to the list and returns an updated list

        arrayAdapter.notifyDataSetChanged();    //Update the list
}
}

N'importe qui peut voir où je vais mal?

source d'informationauteur Pippa Rose Smith