ViewFlipper Error - Receiver not registered

Posted 2010/10/12 12:25, Filed under: 나의 길/Android
E/AndroidRuntime( 3060): FATAL EXCEPTION: main
E/AndroidRuntime( 3060): java.lang.IllegalArgumentException: Receiver not registered: android.widget.ViewFlipper$1@4639c3e0
E/AndroidRuntime( 3060):  at android.app.ActivityThread$PackageInfo.forgetReceiverDispatcher(ActivityThread.java:814)
E/AndroidRuntime( 3060):  at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:822)
E/AndroidRuntime( 3060):  at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:331)
E/AndroidRuntime( 3060):  at android.widget.ViewFlipper.onDetachedFromWindow(ViewFlipper.java:104)
E/AndroidRuntime( 3060):  at android.view.View.dispatchDetachedFromWindow(View.java:6032)
E/AndroidRuntime( 3060):  at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1166)
E/AndroidRuntime( 3060):  at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1164)
E/AndroidRuntime( 3060):  at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1164)
E/AndroidRuntime( 3060):  at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1164)
E/AndroidRuntime( 3060):  at android.view.ViewRoot.dispatchDetachedFromWindow(ViewRoot.java:1647)
E/AndroidRuntime( 3060):  at android.view.ViewRoot.doDie(ViewRoot.java:2693)
E/AndroidRuntime( 3060):  at android.view.ViewRoot.die(ViewRoot.java:2663)
E/AndroidRuntime( 3060):  at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:254)
E/AndroidRuntime( 3060):  at android.view.Window$LocalWindowManager.removeViewImmediate(Window.java:436)
E/AndroidRuntime( 3060):  at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3935)
E/AndroidRuntime( 3060):  at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4040)
E/AndroidRuntime( 3060):  at android.app.ActivityThread.access$2400(ActivityThread.java:135)
E/AndroidRuntime( 3060):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2140)
E/AndroidRuntime( 3060):  at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 3060):  at android.os.Looper.loop(Looper.java:144)
E/AndroidRuntime( 3060):  at android.app.ActivityThread.main(ActivityThread.java:4937)
E/AndroidRuntime( 3060):  at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 3060):  at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 3060):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime( 3060):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime( 3060):  at dalvik.system.NativeStart.main(Native Method)

폰이 슬립에 들어갔다가 다시 깨어날때 가끔씩 위와 같은 오류가 발생한다.
이럴때는 아래와 같이 해준다.
 @Override
 public void onDetachedFromWindow() {
  // ViewFlipper "Receiver not registered" Error
  try {
   super.onDetachedFromWindow();
  }catch (IllegalArgumentException e) {
   ViewFlipper vfMain = (ViewFlipper)findViewById(R.id.vf_Main);
   if(vfMain != null)
    vfMain.stopFlipping();
  }
 }
 

이게 정확히 잘 되는지는 모르겠다.
지금 다른 오류와 겹쳐서 나오는 상태라서 우선 좀 더 테스트 해봐야겠다.

참조링크
http://daniel-codes.blogspot.com/2010/05/viewflipper-receiver-not-registered.html


크리에이티브 커먼즈 라이센스
Creative Commons License
2010/10/12 12:25 2010/10/12 12:25

Trackback URL : http://simplelife.pe.kr/tc/trackback/681


클릭 이벤트 주기.

Posted 2010/09/28 12:39, Filed under: 나의 길/Android
안드로이드에서 기본으로 제공해주는 라디오버튼은
너무 안 예쁘기 때문에
버튼이미지와 문장 텍스트로 비슷하게 꾸밀수 있다.

그런데 텍스트를 눌렀을때 버튼을 클릭한것과 같은 효과를 주기 위해서 동일하게 로직을 주는건 번거롭겠지.
텍스트를 눌렀을때는 버튼에 클릭이벤트를 줘버리면 동일하게 처리할수 있다.

말은 길었지만 그냥 간단히.


final ImageView imgRadio1 = (ImageView) findViewById( R.id.img_Radio1 );

TextView txtRadio1 = (TextView)findViewById(R.id.txt_Radio1);
txtRadio1.setOnClickListener(new View.OnClickListener() {
	@Override
	public void onClick(View v) {
		imgRadio1.performClick();
	}
});  



performClick 으로 주면 된다.
크리에이티브 커먼즈 라이센스
Creative Commons License
2010/09/28 12:39 2010/09/28 12:39

Trackback URL : http://simplelife.pe.kr/tc/trackback/679


custom layout 작성할때 주의할점.

Posted 2010/08/18 12:53, Filed under: 나의 길/Android


layout 을 임의로 만들어 사용할때가 있다.

해당 layout을 코드상에 불러다가 new 로 쓰면 별문제 없지만
그걸 layout 내에 포함시켜서 사용할때 문제점이 있어서 적어놓는다

main.xml
...
<com.simplelife.sample.IconView
...
...
</>



뭐.. 이런식으로 썼을때 보면


에러 유형 1.

E/AndroidRuntime( 1278): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 1278): Caused by: android.view.InflateException: Binary XML file line #36: Error inflating class com.simplelife.sample.IconView
E/AndroidRuntime( 1278): at android.view.LayoutInflater.createView(LayoutInflater.java:503)
E/AndroidRuntime( 1278): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565)
E/AndroidRuntime( 1278): at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
E/AndroidRuntime( 1278): at android.view.LayoutInflater.rInflate(LayoutInflater.java:621)
E/AndroidRuntime( 1278): at android.view.LayoutInflater.rInflate(LayoutInflater.java:621)
E/AndroidRuntime( 1278): at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
E/AndroidRuntime( 1278): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
E/AndroidRuntime( 1278): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)

E/AndroidRuntime( 1278): ... 11 more
E/AndroidRuntime( 1278): Caused by: java.lang.NoSuchMethodException: IconView(Context,AttributeSet)
E/AndroidRuntime( 1278): at java.lang.Class.getMatchingConstructor(Class.java:674)
E/AndroidRuntime( 1278): at java.lang.Class.getConstructor(Class.java:486)
E/AndroidRuntime( 1278): at android.view.LayoutInflater.createView(LayoutInflater.java:475)


이런식의 에러가 날때가 있다.
이건 해당 custom layout에
public IconView(Context context, AttributeSet attrs) {
을 선언안했기 때문이다.
이런식으로 추가 시켜준다.


에러 유형 2.

IconView customMainView= (IconView)findViewById(R.id.custom_MainView);
if(customMainView == null)
Log.d(LOG_TAG, "--;;");


위에서 customMainView 가 null 이 나온다.

"에러 유형 1" 을 수정하는데 부정확하게 한 경우이다
public IconView (Context context, AttributeSet attrs) {

// super(context);  <- 이렇게 하면 안된다.
super(context, attrs);

}


위에처럼 처리하도록 한다.

크리에이티브 커먼즈 라이센스
Creative Commons License
2010/08/18 12:53 2010/08/18 12:53

Trackback URL : http://simplelife.pe.kr/tc/trackback/671


@Override tag 오류가 날 경우

Posted 2010/03/08 13:21, Filed under: 나의 길/Android
작업을 잘하고 있었는데
그동안 잘 있던 소스에서 에러로 뜰때가 있다
  imgView.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub

위의 Override 부분이 오류가 발생한다.


왜인지 모르겠지만 뭘로 인해 컴파일러 버전이 바뀐거였다.
프로젝트의 속성에 가서 Java Complier 부분을 보면
1.5로 설정되어 있을 것이다.
이부분을 1.6으로 바꾸어준다.
사용자 삽입 이미지

이것때문에
일일이 Override 부분을 지우고 있었다..



크리에이티브 커먼즈 라이센스
Creative Commons License
2010/03/08 13:21 2010/03/08 13:21

Trackback URL : http://simplelife.pe.kr/tc/trackback/640


자동 회전 방지하기

Posted 2010/03/02 12:51, Filed under: 나의 길/Android

안드로이드 화면을 개발할때 세로방향으로만 서비스 하고 싶을때가 있을것이다.

처음에 사용한 방법이

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

를 부르는 것이었는데

이걸 하게 되면 Activity 가 두번 호출되는것이다.
인트로 화면이 2번호출되는 문제가 뭘까 한참을 고민했다는.. ^^

이것보다는
AndroidMainfest.xml
을 수정하는 방법을 사용하자

AndroidMainfest.xml
을 열어서
처음 수행하는 Activity 에
android:screenOrientation="portrait"
를 추가시켜준다.

깔끔하게 처리된다.




크리에이티브 커먼즈 라이센스
Creative Commons License
2010/03/02 12:51 2010/03/02 12:51

Trackback URL : http://simplelife.pe.kr/tc/trackback/639



뚜는 지금.. 사랑해사랑해
아.. 열심히 살자..
남자B형염소자리인천

Categories

전체 (504)
뚜.. 서툰.. (258)
폰 이야기 (13)
나의 길 (85)
읽을거리 (21)
사진갤러리 (124)

Recent Posts

  1. Android Studio 2.2 에서 layout 미리...
  2. mac 에서 ssh 접속시 한글 입력이 안될때.
  3. Android Studio. Zxing 라이브러리 사...
  4. 안드로이드 프로젝트를 SVN 등록시 bin...
  5. 안드로이드에서 android.annotation 를...

Recent Comments

  1. Thanhk you for this informative read... Software Engineering 2018
  2. 오전부터 이것때문에 하루 종일 고생함... choi 2016
  3. 진짜 님이 하루 죙일 겜방에 갇혀서 있... 굳굳 2015
  4. 대박 이걸 어떻게 찾으셨어요? 덕분에 ... 34524 2015
  5. 와 이건 진짜 신의한수 였네요~ 감사합... interlude 2015

Recent Trackbacks

Bookmarks

  1. ATOMOS
  2. c3cc3's Homepage
  3. 봄실
  4. 우중산보... 그 싱그러운 여유

1316

1013

google chart api graph

-30 days

today : 30

Site Stats

TOTAL 869320 HIT
TODAY 30 HIT
YESTERDAY 1306 HIT