0

Eclipseを使用してマスター詳細フローを作成しましたが、マスター詳細フローのリストアクティビティ(タイプFragmentActivity)と作成した別のアクティビティ(タイプ)の間でsqliteデータソースを使用したいと思いますActivity

私はいくつかの読み取りを行い、sqliteデータソースのインスタンスを1つだけにするために、基本アクティビティ(Activityデータソースを含むタイプ)を作成し、それを他のすべてのアクティビティに拡張することを提案します。このようにして、スーパークラスからリソースを取得できます...これはすべて問題ありませんが、マスター詳細フローのリストアクティビティの基本アクティビティは拡張されていないため拡張できませFragmentActivityActivity...

助言がありますか?

4

2 に答える 2

2

WarrenFaithが彼のコメントで示唆していたのは、クラスを拡張して、アプリの任意のコンポーネントからアクセスできるApplicationグローバルオブジェクトを維持できるようにすることだと思います。static

例...

public class MyApp extends Application {

    public static MyObject obj = null;

    public void onCreate() {

        obj = new MyObject();
        ...
    }

    ...
}

次に、次のように、Activityまたはのいずれかからオブジェクトにアクセスします。FragmentActivity

MyApp.obj.someMethod();
于 2012-11-24T01:26:05.063 に答える
0

これが役立つかどうかはわかりませんが、ここで行ったことの一部を共有します。おそらく役立つでしょう。

フラグメントを使用している間、フラグメントで getActivity() を使用して SQLite DS オブジェクトに渡します。これは、フラグメントが関連付けられているアクティビティを返します。

FragmentActivity には、FragmentActivity の使用方法に応じて親アクティビティを返す getParent() というメソッドが表示されます。

于 2012-11-24T00:55:21.877 に答える