2016-08-24 8 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

새 클래스를 만들고이 메서드를 클래스에 추가하여 activity 클래스와 Application 클래스에서 사용합니다. –

+0

@Durgesh - 시도 했습니까? 어떻게 된 거예요? – 0X0nosugar

+0

이미 생성 된 프로젝트에서 편집 중이므로 Activity 클래스를 변경할 수 없습니다. – 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(); 
}