2016-08-24 6 views
0

私は、Activityクラスにpublicメソッドを定義しています(some_method()と言うことができます)。このメソッドをApplicationクラスで呼び出すことは可能ですか?ActivityクラスのメソッドをApplicationクラスから呼び出すことはできますか?

public class YourActivity extends AppCompatActivity { 

public static YourActivity instance; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_layout); 

    instance=this; 

    //your code 

} 

//your method 
public void yourMethod() { 

} 

@Override 
protected void onDestroy() { 
    super.onDestroy(); 
    instance=null; 
} 

} 

、あなたのアプリケーションの方法では、あなたがこのようなあなたの活動のメソッドを呼び出すことができます。

+0

私はあなたがnです新しいクラスを作成し、このメソッドをクラスに追加して、activityクラスとApplicationクラスで使用します。 –

+0

@Durgesh - 試しましたか?何が起こった? – 0X0nosugar

+0

私はすでに作成されたプロジェクトで編集中です。私はアクティビティクラスを変更できません。 – Durgesh

答えて

0

は、あなたがこのようにシングルトンアクティビティを使用することができ、この

yourActivity act = new Activity(); 
act.some_method(); 

`

+0

「Null」のエラーが表示されます。「Null」というシンボルは解決できません。 – Durgesh

+0

スタック・スタックの例外をポストしますか? –

+0

申し訳ありません、Nullを削除します @Durgesh –

2

を試してみてください。

if (YourActivity.instance != null) { 
    YourActivity.instance.yourMethod(); 
} 
関連する問題