0

私は今Androidクラスを受講しているので、Androidアプリ開発に少し慣れていません。

基本アクティビティの最初の仮定は、それがグローバル変数であり、その値がすべてのアクティビティで使用可能であるということです。メインアクティビティでは利用できますが、それ以降のアクティビティでは利用できません。

基本アクティビティでは、オブジェクトのArrayListを格納しています。また、arrayListにオブジェクトを追加するxmlからデータをロードします。メインアクティビティに入ると、まだそのarrayListとその値にアクセスできます。私はそれを使ってリストを埋めます。しかし、次のアクティビティに進むと、arrayListは認識されていますが、空であると見なされます。

arrayListを取得し、配列リストにオブジェクトを追加するために、基本アクティビティにメソッドを作成する必要がありますか?

どんな助けでもいただければ幸いです。

ありがとうございました、

ミシェル

4

2 に答える 2

1

グローバル変数を宣言する必要がありますstatic。そうすれば、どのクラスからでもアクセスできるようになります。例:

public class Globals {
    public static String myString;
}

すべてのクラスは、次のようにmyStringを読み取り/書き込みできます。

Globals.myString = "foo";

また

String bar = Globals.myString;
于 2012-07-07T09:19:31.993 に答える
0

経験から、1つのアクティビティの変数は、アクティビティがアクティブな間、つまりonCreateとonDestroyの間でのみ使用可能であると思います。それ以外の場合は、nullポインター例外が発生する可能性があります。実際に行う必要があるのは、データの送信です。 、または配列、および他のアクティビティへの意図。

上記のように可能ですが、他のアクティビティ変数を呼び出す必要はないと思います。アクティビティにonDestroyメソッドがあると、アクティビティ内のオブジェクトが破棄され、メモリから削除されると思います。彼らが持っていたものをすべて破壊する。

この基本的な活動は何ですか?それは単に活動を拡張するだけですか?そして、MainActivityはActivityも拡張していますか?一度に使用できるアクティビティは1つだけです。アプリケーションのサイクル全体ですべてを提供できるサービスが必要だと思う場合は、終了したら停止することを忘れないでください。

于 2012-07-07T01:45:43.753 に答える