마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

MainActivity의 innerclass로 있는 스레드 클래스를 다른 액티비티에서 실행하는 법..

0 추천

MainActivity에 있는 Innerclass로 선언된 스레드 클래스를 

다른 액티비티에서 스레드 실행하고 싶은데요(백그라운드->포그라운드 넘어 올 시, 실행하기 위해)

new Thread(new MainActivity(). new ClientThread()).start();

이런 식으로 선언하면 스레드 클래스 안에서 선언된 SharedPreference가 null로 나오네요

SharedPreferences settingPref = getSharedPreferences(SH_SHARED_SETTINGS + Integer.toString(nProjectNo), MODE_PRIVATE); 

 스레드 클래스 안에 있는 이 부분에서 null로 나옵니다.

MainActivity에서 실행했을 땐 정상 동작하구요

문제 없이 다른 액티비티에서 MainActivity에 있는 이너클래스(스레드)를 실행할 수 있는 방법이 없나요?

 

 

 

 

 

zenojm (2,840 포인트) 님이 2017년 12월 18일 질문

1개의 답변

0 추천
 
채택된 답변
자답입니다.

MainActivity Oncreate에서

MainActivity mainActivity = MainActivity.this로 선언하고

다른 액티비티에서  

new Thread(mainAcivity. new ClientThread()).start());

하여 실행하니 잘 됩니다.
zenojm (2,840 포인트) 님이 2017년 12월 18일 답변
zenojm님이 2017년 12월 18일 채택됨
...