뷰가 생성될때.
class A extends View{
public mLevelViewClass(Context context) {
super(context);
// TODO Auto-generated constructor stub
mParent = (Activity)context;
mHandler.sendEmptyMessageDelayed(0, 1000);
}
Handler mHandler=new Handler(){
Rect rt=new Rect();
rt.top = Rnd.nextInt(getHeight());
}
}
Rnd는 랜덤 이고..암튼...
다른값들은 랜덤일때 문제 발생하지 않고.. getHeight값이 아닌 다른 값을 넣어도.. 아니 심지어 rt.top=10; 이런식으로 하더라도..
항상 일어나는 에러는 아니고요.. 가끔씩 동작을 안합니다.ㅠㅠ밑에는 에러로그 입니다.
05-04 10:48:08.164: ERROR/AndroidRuntime(5191): FATAL EXCEPTION: main
05-04 10:48:08.164: ERROR/AndroidRuntime(5191): java.lang.IllegalArgumentException
05-04 10:48:08.164: ERROR/AndroidRuntime(5191): at java.util.Random.nextInt(Random.java:225)
05-04 10:48:08.164: ERROR/AndroidRuntime(5191): at com.sub.memory.AGameTest$mLevelViewClass.addNewItem(AGameTest.java:320)
05-04 10:48:08.164: ERROR/AndroidRuntime(5191): at com.sub.memory.AGameTest$mLevelViewClass$1.handleMessage(AGameTest.java:290)
05-04 10:48:08.164: ERROR/AndroidRuntime(5191): at android.os.Handler.dispatchMessage(Handler.java:99)
05-04 10:48:08.164: ERROR/AndroidRuntime(5191): at android.os.Looper.loop(Looper.java:123)
05-04 10:48:08.164: ERROR/AndroidRuntime(5191): at android.app.ActivityThread.main(ActivityThread.java:4627)
05-04 10:48:08.164: ERROR/AndroidRuntime(5191): at java.lang.reflect.Method.invokeNative(Native Method)
05-04 10:48:08.164: ERROR/AndroidRuntime(5191): at java.lang.reflect.Method.invoke(Method.java:521)
05-04 10:48:08.164: ERROR/AndroidRuntime(5191): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:871)
05-04 10:48:08.164: ERROR/AndroidRuntime(5191): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
05-04 10:48:08.164: ERROR/AndroidRuntime(5191): at dalvik.system.NativeStart.main(Native Method)
뭐나 문제일까요.ㅠ
<meta charset="utf-8">mHandler 속의 코드는 약간 생략 된거죠?
아무튼 top에 값을 넣는게 문제라기 보다는
rnd.nextInt() 속의 파라메터가 0이 들어가면 위의 같은 Exception이 발생됩니다.
getHeight() 의 값을 확인해 보세요.
</meta>