私は、Android tabHostアプリケーションでアプリケーションを拡張するクラスを持っています。 Appクラスでは、すべてのクラスで再作成する必要のあるメソッドと変数を配置しています。 1つのメソッドは、DBから読み込み、結果をArrayList(名前、姓など)に格納します。このデータベースを再読み込みし、情報が必要なすべてのタブビューのコードを再作成するのではなく、Application(myAppClass)を拡張するクラスにメソッドとArrayListを貼り付けました。このようにして、onCreate()の任意のタブビューからmAC = (myAppClass) getApplicationContext()
を設定することにより、myAppClassのすべてのget ..()メソッドとset ..()メソッドを参照できます。静的メソッドとクラスを継承するクラスとandroid.app.Application?
私の元の計画は、静的メソッドと変数を持つ共有クラスを使用することでしたが、「do not do that」スレッドを大量に読んで、アプリケーションルートに進むことにしました。今、私は、プロジェクトライブラリでmyAppClassを使用しようとしていますが、エラーが発生しましたandroid.app.Application cannot be cast to...
myAppClassを静的メソッド/変数に戻して(そしてアプリケーションを拡張しないで)何かが動作しますが、これは想定されています大きなノーノであること。これを行う別の方法がありますか? Androidがすべてを参照渡しするかどうかはわかりませんが、メソッド/クラス間で巨大な(数千のオブジェクト/メンバー)ArrayListsを渡してアプリケーション全体を再実装する方が良いでしょうか?
Applicationのインスタンスは1つだけです。ゲッターとセッターを使用する必要はありません。サブクラス化されたアプリケーションで静的メソッド/変数を使用し、そのように使用します:MyApplication.myMethod()... –