0

Carsの から myにさらに追加するにはどうすればよいですか?ArrayList<Car>Activity

私はこのようなものを持っているので:

 private List<Car> getData() {

 List<Car> cars = new ArrayList<Car>();

cars.add(new Car("Dodge", "Viper"));

cars.add(new Car("Chevrolet", "Corvette"));

cars.add(new Car("Aston Martin", "Vanquish"));

cars.add(new Car("Lamborghini", "Diablo"));

cars.add(new Car("Ford", "Pinto"));

return cars;

}

しかし、車は単なる例です.1つのアプリケーションにテキストスイッチャーがあり、テキストスイッチャーからテキストを取得して、リストビューで他のアクティビティに新しいアイテムとして配置したいです。

4

5 に答える 5

0

database likeを使用するか、ファイルなどの共通リソースを永続的なストレージsqlliteとして共有することをお勧めします。このタイプのストレージはvolatileであるため、これはストレージを作成する方法ではありません。xml

いずれにせよ、メモリがクリアされると、すべてのデータがクリーンになります。

アンドロイド永続ストレージを見てください

于 2012-08-02T17:33:07.583 に答える
0

リストをクラス変数にして addCar 関数を用意するだけです

public void addCar(String make,String model){
      cars.add(new Car(make,model));
}

getData() を変更します

    private List<Car> getData() {

            addCar("Dodge", "Viper");
            addCar("Chevrolet", "Corvette");
            etc...

        return cars;

    }

他のアクティビティでは addCar(make,model) を呼び出すだけです

于 2012-08-02T17:21:16.067 に答える
0

で 2 番目にcars始まるインテントに入れます。次に、それを取得して、必要な車を追加します。ActivityputExtra()getExtra()

于 2012-08-02T17:21:33.433 に答える
0

Activityメモリを離れると、もう一方がメモリ内に存在するという保証はありません(メモリ リソースが少なくなると、システムがそれを破棄する可能性があるため)。データを永続ストレージ (つまり、データベースまたは ) に保存するか、代わりにデータをエクストラSharedPreferencesとして渡す必要があります。Intent

于 2012-08-02T17:23:11.967 に答える
0

Activity基本的に、を使用して変更するために、オブジェクトを他のオブジェクトに渡す必要がありますIntentsしかし、これは非常に間違っているようです。の外側に追加Carsする方法を再考することをお勧めします。ArrayListActivity

Harmeet Singh が述べたように、sqliteすべてのCars. 次に、そのテーブルを見ている人をListView持つことができます。CursorAdapterこれにより、どこからでも追加できるようになりCars、より柔軟でより良い練習になります。

Intentsオブジェクトを他のオブジェクトに渡すことについて議論する 2 つの投稿がありActivityますが、求めていることを実装するためにこの道を進むことはお勧めしません。sqliteデータベーステーブルと一緒に行きます。

  1. Androidであるアクティビティから別のアクティビティにオブジェクトを渡す方法
  2. Android のアクティビティ間でデータを渡すにはどうすればよいですか?
于 2012-08-02T17:25:16.070 に答える