0

Customer クラスがあり、その依存関係を @Inject アノテーションで注入しました。クラスの新しいインスタンスを返すメソッドをこのクラスに作成したいと思います。

class Customer{

    //the DataSource class is annotated with @Singleton
    @Inject protected DataSource dataSource;

    public DataSource getDatasource(){
        return dataSource;
    }

    public Customer newInstance(){
        return new Customer();
    }
}

私のアクティビティでは、@Inject アノテーションを介して 1 人の顧客を注入しています。onCreate() メソッドで、customer.newInstance() を呼び出して別の Customer インスタンスを取得していますが、次の操作を行うと、2 番目の Customer オブジェクトのデータソースが null になります。RoboGuice を使用して必要に応じて新しいオブジェクトを作成し、依存関係があることを確認するにはどうすればよいですか?

if(customer.newInstance().getDatasource() == null){
    //This gets logged
    Log.d("DEBUG", "2nd customer's datasource is null");
}

どんな助けでも大歓迎です。

4

2 に答える 2

0

次の方法で、顧客クラスの新しいオブジェクトを作成してみてください。

Customer newObject; 

newObject = newInstance();
于 2013-05-10T05:10:59.873 に答える