지금까지 문제의 두 가지 해결책이 있다는 것을 알고 있습니다.
- 다음
member_one
, member_two
에 패스 Context
및 Context
이 토스트를 만드는 것을 사용합니다. Like Toast.makeText(mContext, "Exception Occurred", Toast.LENGTH_SHORT).show();
두 번째 접근 방식은 member_one
의 클래스에 등 Interface
문구를 넣을 Interface
방법으로 될 것입니다
public interface OnErrorOccured {
public void whatIsErr(String msg);
}
OnErrorOccured onError;
public void setOnDetailsLoadListener(OnErrorOccured onError) {
this.onError = onError;
}
`
같은 때 당신이
Exception
전화를받을 이제까지
onError.whatIsErr(e.toString());
메인에 그들이 청취자를 설정해야합니다 이러한 클래스 중 하나를 사용하려면 프로그래머가 알고 어떻게 다른
member_one.setOnErrorListener(mErrorOccured);
OnErrorOccured mErrorOccured =new OnErrorOccured() {
@Override
public void whatIsErr(String msg) {
// Do what ever you want..show Toast, or do any UI update
}
};
Activity
?
이 경우 생성자가 리스너를 통과하도록해야합니다. 당신`member_one`,`member_two`에
처럼
public yourConstructor(OnErrorOccured errorListener,.....)
{
this.setOnErrorListener(errorListener);
...
}
패스'Context'은 다음 Context'는'Toast.makeText (mContext, "예외가 발생하였습니다"Toast'.like'확인'것을 사용 Toast.LENGTH_SHORT) .show(); ' –
'보조 '클래스에'컨텍스트 '를 전달하는 것이 좋은 습관입니까? – Eugene
'사용자'에게 통보하고 싶다면 '컨텍스트'가 필요합니다. 보시다시피 모든 '보기'에는 '컨텍스트'가 필요합니다. 또 다른 해결책은 '인터페이스'접근 방식을 사용하는 것입니다. –