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

Leave a comment

« Previous : 1 : ... 15 : 16 : 17 : 18 : 19 : 20 : 21 : 22 : 23 : ... 604 : Next »

뚜는 지금.. 사랑해사랑해
과연 깜작이는..
남자B형염소자리서울

Categories

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

Recent Posts

  1. 와이브로 사용한다면 올레 와이파이 멀...
  2. Java Decomplier 설정 및 오류 해결.
  3. 쩝.. 이젠 장년층인가..
  4. MyLocationOverlay 사용시 갤럭시A에...
  5. 안개에 묻히다.

Recent Comments

  1. 자세한 설명 .. 감사합니다. kim 2011
  2. 몇 년 지나면 이제 노년층일세... 서툰걸음 2011
  3. 아~놔... 이 글 왤케 웃기지 ㅋㅋㅋ 김기영 2011
  4. 사진이 있으면 좋은데 글로만 적어놔서... 서툰걸음 2011
  5. 도움이 많이 되었습니다. 감사합니다!! konahn 2011

Recent Trackbacks

  1. 방화벽 막힌곳에서 무선랜을 이용해서 ... A 2010

Bookmarks

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

66

36

google chart api graph

-30 days

today : 44

Site Stats

TOTAL 181350 HIT
TODAY 44 HIT
YESTERDAY 23 HIT