あなたのコメントによると、アダプター内の配列を更新するのではなく、一度アダプターに渡したアクティビティによって保持される配列を更新します。これが、アダプターが正しく更新されない理由です。アダプター クラスの外部で配列を変更しています。これは、アダプターが使用している配列オブジェクトと同じではない可能性があります。onResume() で、アダプタが新しい配列で再作成され、新しいコンテンツが表示されます。
解決策は、次のカスタム Adapter クラスを使用することです。
class MyAdapter extends BaseAdapter {
private Array[] myArray;
public MyAdapter(Array[] myArray) {
this.myArray = myArray;
}
public updateContent(Array[] myNewArray) {
this.myArray = myNewArray;
this.notifyDataSetChanged();
}
// your getItem, getView, and so on methods
}
次に、アクティビティから、新しい配列で myArray.updateContent() を呼び出すだけで、すぐに更新されます。
あるクラス (アダプタ) から使用されるオブジェクトを別のクラス (アクティビティ) 内で保持および操作することは決して適切ではありません。配列を操作するためのすべてのコードをアダプターに移動し、メソッドを使用してアイテムを追加/削除するようにしてください。これにより、この種のエラーを簡単に見つけることができます。