디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

형들 자바 (안드로이드)질문 [배열, 객체, 참조]

앍이게뭐야갤로그로 이동합니다. 2012.01.08 15:54:05
조회 141 추천 0 댓글 0


일단 안드로이드로 비밀번호 해제하는 버튼 만드는거 하다가 생긴일인데.

밑에 test라는 ButtonProperty 객체는 실험으로 만든거야
test 객체로는 실행이 잘 되더라고.

근데 이상하게
ButtonProperty [][] buttonProperty;
이렇게 배열로 만들어서

 buttonProperty = new ButtonProperty[3][3];
요런식으로 초기화하고

사용하면 전혀 안된다. 매서드만 안되나 싶어서 해당 객체으 매서드 전부 삭제하고
     boolean select = false; //선택여부
이렇게 초기화되는 값만 참조만 해보도록 시켜도 에러가 뜨더라.

호출방법은
if(buttonProperty[1][1].select)
if(buttonProperty[0][0].select)

이런 방법으로 해봤어. 둘다 에러더라. 안드로이드가 에러메세지가 안떠서 짜증나네

결국 이중포문 내부 지워버리고
바깥에 이걸 썻거든?
      test= new ButtonProperty();
      test.drawButton(1, 1);
      test.drawButton(0, 0);
      test.drawButton(2, 2);
근데 이건 또 잘 그려지더라.

곰곰히 생각해보니 솔직히 저 객체를 배열로 안하고 내부의 rectF랑 셀렉트만 배열로 따로 만들어도 될것 같긴 한데.
일단 내가 알고 있는 개념사으로는
배열로 저런식으로 선언해서 사용해도 문제가 없어야 하는데 문제가 생기니까

왜그런지 정말 궁금하고 다음에는 이런실수 안했으면 좋겠어서 여쭈어봄

좋은 답변 부탁할게!


import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.os.Bundle;
import android.view.View;

public class PassActivity extends Activity {
 Canvas canvas;
 Pass pass;
 int buttonSize = 50;
 int buttonSpace = 30;
 int buttonStartLocationWidth = 20;
 int buttonStartLocationHeight = 20;
 int internalButtonSize = -15;
 Paint YellowPaint;
 Paint RedPaint;
 Paint GreenPaint;
 ButtonProperty [][] buttonProperty;
 ButtonProperty test;
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        pass = new Pass(this);
        setContentView(pass);
    }
   
   
    public class Pass extends View{
     public Pass(Context context) {
   super(context);
   canvas = new Canvas();
   canvas.drawColor(Color.WHITE);
   YellowPaint =  new Paint(Paint.ANTI_ALIAS_FLAG);
   YellowPaint.setColor(Color.YELLOW);
   RedPaint =  new Paint(Paint.ANTI_ALIAS_FLAG);
   RedPaint.setColor(Color.RED);
   GreenPaint =  new Paint(Paint.ANTI_ALIAS_FLAG);
   GreenPaint.setColor(Color.GREEN);
   buttonProperty = new ButtonProperty[3][3];
  }
     protected void onDraw(Canvas canva){
      canvas = canva;
      for(int i = 0 ; i < 3 ; i++)
       for(int j = 0 ; j < 3 ; j++){//j는 x축 i는 y축을 말함.
            //buttonProperty[j][i].drawButton(j,i);
       }
      
      test= new ButtonProperty();
      test.drawButton(1, 1);
      test.drawButton(0, 0);
      test.drawButton(2, 2);
      }
     }
   
    public class ButtonProperty{
     RectF rt1; //내부 원
     RectF rt2; //외부 원
     boolean select = false; //선택여부
     
     public void drawButton(int x, int y){
      x =  buttonStartLocationWidth+(buttonSize+buttonSpace)*x; //원의 LEFT 위치
      y =  buttonStartLocationHeight+(buttonSize+buttonSpace)*y;//원의 TOP 위치
      drawRt(x, y);
      drawRt2(x, y);
     }
     public void drawRt(int x, int y){
      rt1 = new RectF(x, y, x+buttonSize, y+buttonSize); //큰거
      canvas.drawOval(rt1, YellowPaint);
     }
     public void drawRt2(int x, int y){
      rt2 = new RectF(x-internalButtonSize, y-internalButtonSize, x+buttonSize+internalButtonSize, y+buttonSize+internalButtonSize); //작은거
      if(select)//선택된것이면 빨강색, 선택안된것이면 녹색
       canvas.drawOval(rt2, RedPaint);
      else
       canvas.drawOval(rt2, GreenPaint);
     }
    }
}
   
  

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 해외에서 겪는 불합리한 대우에 대응 잘 할 것 같은 스타는? 운영자 25/11/03 - -
AD 저녁 뭐먹지? 오늘의 메뉴 추천! 운영자 25/10/31 - -
298032 형들 게임업계 힘든건 둘째치고 서버쪽이 더많이배워요 아님 클라쪽?? [4] ㅁㄴㅇㄹ(59.30) 12.01.10 106 0
298031 C언어 배우러 학원 온 전공생들이 [22] 쿠마코갤로그로 이동합니다. 12.01.10 309 0
298030 공장 공장 거리는데 공장 가본사람 있으셈? [5] 1(183.104) 12.01.10 156 0
298029 영어 시발ㅋ 다크엔젤z갤로그로 이동합니다. 12.01.10 40 0
298028 으으 잉여력이 부족해~~~ 거칠게갤로그로 이동합니다. 12.01.10 51 0
298027 애정남에 IT 개발자 단가를 정해달라고 하고 싶다. [4] 거칠게갤로그로 이동합니다. 12.01.10 193 0
298026 C배우러 학원왔는데 [7] 쿠마코갤로그로 이동합니다. 12.01.10 152 0
298025 한국 개발자 테크트리는 뭔가염? [4] 거칠게갤로그로 이동합니다. 12.01.10 237 0
298023 장애인 문안 인사 드리옵니다. 안드로이드 좀 아는놈이나 자바 빠삭한 봐줘 [2] kknd(121.174) 12.01.10 83 0
298020 으으 허무감이 밀려온다...... [1] 거칠게갤로그로 이동합니다. 12.01.10 64 0
298019 코드 난독화 왜 하냐?? [8] ㅇㅇㅇ갤로그로 이동합니다. 12.01.10 256 0
298018 횽들.. 취업했는디.. [2] 그러함(112.150) 12.01.10 117 0
298015 졸린 오후에 찾아온 적절한 뮤비 투척 거칠게갤로그로 이동합니다. 12.01.10 51 0
298014 횽들아. 요새 미분 책보고 있는데; 미분에 대해서 머 좀 물어보겠음; [6] ㅁㅁㅁ(116.121) 12.01.10 104 0
298013 에잇 좋은 짤방이나 보자!!(뒤는 알아서 조심하던지 말던지!!) [3] 거칠게갤로그로 이동합니다. 12.01.10 153 0
298011 정식 SE 데뷔!!! [9] 씨발라드세요갤로그로 이동합니다. 12.01.10 129 0
298010 html 태그 질문 드릴께요. iframe [8] ares4you갤로그로 이동합니다. 12.01.10 83 0
298009 어려운 질문은 아닌데 왠지 알아두어야 될 것 같아서 질문드려요 [14] C++(112.172) 12.01.10 98 0
298008 자바 질문 좀 드릴게요ㅠㅠㅠ [2] 끼용(14.36) 12.01.10 54 0
298007 '甲-乙-丙 하청구조'…단계마다 인건비 따먹기 [1] 거칠게갤로그로 이동합니다. 12.01.10 131 0
298003 현업 언니들 사장이 [4] dot(125.128) 12.01.10 123 0
298001 니들 이름은 어떻게 결정한거냐? [13] iljeomobolt갤로그로 이동합니다. 12.01.10 157 0
298000 대학원 질문 [2] 리누슽발즈(220.70) 12.01.10 117 0
297997 플밍배열에 관하여 질문드립니다. [3] 플밍꼬꼬마(221.165) 12.01.10 66 0
297996 카르마1해보신분 손 [5] Forit갤로그로 이동합니다. 12.01.10 77 0
297995 파견 나가는데 아오 맨붕 [2] 개떙보갤로그로 이동합니다. 12.01.10 91 0
297993 나 이것좀 풀어줘 [9] 고기호빵갤로그로 이동합니다. 12.01.10 103 0
297991 영어 한문장만 물어볼게 횽들... [13] 캐영어닭(115.92) 12.01.10 111 0
297990 우리 회사 병특 현역 1명 뽑는당... [6] ㅇㅇㅇ(59.13) 12.01.10 182 0
297989 근데 말야 자동 수강신청프로그램같은거 [7] 싴보이갤로그로 이동합니다. 12.01.10 197 0
297988 횽들.......JSP 도움좀 [9] 헬프욤(121.138) 12.01.10 103 0
297987 오늘 면접보러감 꿀레(121.168) 12.01.10 84 0
297986 html5가 따로 배워야할 수준이냐? html4랑 많이 틀림? [2] ㄴㄹㅇ(218.48) 12.01.10 188 0
297985 프로그래밍에서 중요한것. 10년차임 [3] sstt(110.14) 12.01.10 195 1
297984 나 먼가 장애있는거야 형들? 크롬 탭이 매일 20개가 넘어감 [5] 엌ㅋ(112.223) 12.01.10 108 0
297983 회사에서 웹디자이너 한테 HTML5 배우래 [5] (112.76) 12.01.10 192 0
297982 C# 질문점 리누슽발즈(220.70) 12.01.10 48 0
297981 티스토리 초대장 하나만주셍요 굽신굽신 [1] ㅁㅁㅁ(211.232) 12.01.10 47 0
297980 HTML5에서 아이폰 바탕화면 드래그(?) 같은걸 구현해야하는데 [2] 흑흑(112.223) 12.01.10 77 0
297978 table 이 졸라 많은 한국 웹싸이트.. [1] iljeomobolt갤로그로 이동합니다. 12.01.10 93 0
297976 어우 졸려... [1] ㅋㄱ(183.96) 12.01.10 46 0
297975 성대아싸횽 [7] ♪♩안봉봉♬갤로그로 이동합니다. 12.01.10 133 0
297974 형들 웹하드에서 게임 돈주고 다운받았는데 멀티가 안되요;; [10] 도와주세요(115.23) 12.01.10 137 0
297973 윈도폰 개발공부중인데 공부 참조할만한 커뮤니티 아시는거좀.. [3] 파괴대마왕갤로그로 이동합니다. 12.01.10 58 0
297970 재귀썌끼 존나 맘에 안들어요.. [2] 뇌성능(61.80) 12.01.10 90 0
297969 아무래도 인간에 머릿속에 여러가지 칩들을 넣어야될것같아 [2] lucy_han갤로그로 이동합니다. 12.01.10 53 0
297968 궁금한게 있어서 물어봤는데요... [1] 뇌성능(61.80) 12.01.10 57 0
297966 연산자 오버로딩에 대해 자세히 나와있는 글 없나 [1] elwlwlwk갤로그로 이동합니다. 12.01.10 55 0
297964 안녕하세요 C에 대해서 좀 여쭤보겠습니다^^ [3] 몽키C갤로그로 이동합니다. 12.01.10 86 0
297963 뇌성능이 딸리는게 이런거임? [5] 뇌성능(61.80) 12.01.10 150 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2