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

액티비티 클래스에서 다른 자바 클래스의 메소드 호출 질문있습니다.

0 추천

사진과 같이 Normal  액티비티에서 CalcExcp 의 클래스 메소드를 호출하려는데 nullpointer 에러가 납니다.

왜나는 것인가요???

우윤데에 (730 포인트) 님이 2013년 7월 10일 질문

4개의 답변

0 추천
 
채택된 답변
calcExcp이라는 클래스를 만들어서 하시는게 이해가 잘안가구요일단... 이 클래스에서 op나 result TextView를 사용을 못할거 같아요 차라리 함수에 매개변수를 넣고 이 함수 가져다 쓰는곳에서 op의 값을 처리해서 매개변수로 넘기는게 나을거 같습니다.
DarkArmor (1,050 포인트) 님이 2013년 7월 10일 답변
우윤데에님이 2013년 7월 11일 채택됨
추가적으로 메소드를 더 만들어야 해서 그 메소드들을 한 클래스에 넣으려고 따로 만든 거였습니다.
 NormalCalculator라는 클래스에 메소드가 너무 많이 들어가서요.
calcExcp에서 textView 를 건들지 마시고 매개변수 넘기는 식으로 하시는게 좋을거 같습니다. TextView(op,result)를 사용하는 부분에서 에러가 아닐까 싶어요
0 추천
에러에 대한 Call Stack 을 올려주시면 분석이 더 쉬울텐데요. CalcExcp 함수에 대한 할당 문제는 없는 것으로 보이고 newOp 함수내에 op 가 null로 보이지만 자세한 건 에러로그를 봐야할 것 같습니다.
coooldh (2,510 포인트) 님이 2013년 7월 10일 답변
0 추천
이런거 올리실때 로그까지 올려주시면 더 좋을거 같구요 로그 확인하시면 어디서 nullpointer에러가 나는지 확인 가능하십니다.

op가 TextView이거나 EditText 인거 같은데 이게 문제가 있는거 같네요...
DarkArmor (1,050 포인트) 님이 2013년 7월 10일 답변
0 추천
Calc... extends Normal... 이고...

Normal... {

    private Calc....

   ....

} 이고...

 

구조가 이게 뭔가요......

위 소스상으로 왜 null이 나는지 묻는다면 당연히 null이라고 할 수 밖에 없네요.

 

CalcExcp의 op(NormalCalculator에서 상속받은)가 초기화되는 코드가 없기때문이죠.

new Activity() 해서 onCreate()되는건 아니니....
hunikey (1,220 포인트) 님이 2013년 7월 10일 답변
...