안드로이드 개발 질문/답변
(글 수 45,052)
같은 JAVA 파일 안에서는
이런식으로 주고 받을 수 있는데.....
서로 다른 JAVA 파일 에서 받을려면 어떻게 해야 하나요 ?
A는 메인 Class 이고 B는 surfaceView 클래스 입니다.
B에서는 XML에 위치된 surfaceView에 화면을 그리기 때문에
A에서 굳이 b= new B() 를 객체를 만들 필요가 없었습니다..
그런데 B에 있는 핸들러를 통해 A가 메세지를 받아야 하는데... 서로다른 Class 간에 msg를 주고 받는 방법을 모르겠습니다.
A에서
이런식으로 생성자를 통해 Handler를 공유하려고 했는데.. 그럴러면 A에서 context 값과 AttributeSet 값도 같이 넣어줘야 하는데
AttributeSet 값을 구할수가 없어서 ..생성자를 통한 공유방법도 사용하지 못하고 있습니다.
저는 sendMessage하면 Class에 상관없이 공통적으로 메시지가 모이는 (중앙우체국 같은..) 곳에서 메세지를 공통으로 받은 다음 필요한 곳으로 보내는줄 알았는데.. 그냥 보내면 공유가 안되네요.. 방법이 없을까요?
public Handler handler = new Handler(){
public void handleMessage(Message msg){
//핸들러를 통해 받아오는 메시지 처리
Log.i("jjjjj","핸들러 메세지 받았음");
switch(msg.what){
case 0:{
// nowView = (int)msg.arg1;
}break;
}
}
};
handler1.sendEmptyMessage(1);
Log.i("jjjjj","핸들러에 메세지 보내기");이런식으로 주고 받을 수 있는데.....
서로 다른 JAVA 파일 에서 받을려면 어떻게 해야 하나요 ?
A는 메인 Class 이고 B는 surfaceView 클래스 입니다.
B에서는 XML에 위치된 surfaceView에 화면을 그리기 때문에
A에서 굳이 b= new B() 를 객체를 만들 필요가 없었습니다..
그런데 B에 있는 핸들러를 통해 A가 메세지를 받아야 하는데... 서로다른 Class 간에 msg를 주고 받는 방법을 모르겠습니다.
A에서
b=new B(Context context, AttributeSet attr, Handler handler)
이런식으로 생성자를 통해 Handler를 공유하려고 했는데.. 그럴러면 A에서 context 값과 AttributeSet 값도 같이 넣어줘야 하는데
AttributeSet 값을 구할수가 없어서 ..생성자를 통한 공유방법도 사용하지 못하고 있습니다.
저는 sendMessage하면 Class에 상관없이 공통적으로 메시지가 모이는 (중앙우체국 같은..) 곳에서 메세지를 공통으로 받은 다음 필요한 곳으로 보내는줄 알았는데.. 그냥 보내면 공유가 안되네요.. 방법이 없을까요?



