디시인사이드 갤러리

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

갤러리 본문 영역

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

앍이게뭐야갤로그로 이동합니다. 2012.01.08 15:54:05
조회 151 추천 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/10 - -
AD 겨울가전 SALE! 쿨한 겨울 HOT세일 운영자 25/11/12 - -
297872 직딩횽들 연봉 많이 올랐음?? [13] 쿄스케갤로그로 이동합니다. 12.01.09 199 0
297869 뜬금없는 인공지능 드립 [1] 1(183.104) 12.01.09 80 0
297866 밑에 온라인 핵 만들어달라고 한 사람 말야. [17] ♪♩안봉봉♬갤로그로 이동합니다. 12.01.09 217 0
297865 0xc0150002 이런 에러코드 아는갤러? Sins갤로그로 이동합니다. 12.01.09 74 0
297864 형들중에 해킹이나 보안 전문가 형들 있어? [2] 수상한김토끼갤로그로 이동합니다. 12.01.09 216 0
297862 국내업체중 개발자 직장순위를 매기면 어디가 1위임? [16] 132321(121.162) 12.01.09 373 0
297861 조깅 부작용 [3] 이모군(175.114) 12.01.09 111 0
297859 형들 자바api있잖아 [4] 플래닛댄스갤로그로 이동합니다. 12.01.09 94 0
297858 간단한 온라인게임 핵? 버그? 의뢰제작 해주실분. 보수 20만원 [6] 234(121.147) 12.01.09 2993 0
297857 형들 c# using 했는데도 네임스페이스 다 찍어야되는데 도움좀 [3] (61.75) 12.01.09 72 0
297856 갤탭을 서버로 돌려보니 [15] ㅇㅇㅇ갤로그로 이동합니다. 12.01.09 149 0
297855 언능 들어가고 싶다 Aven갤로그로 이동합니다. 12.01.09 29 0
297854 형들 게임업계가 그렇게 좃같음?? 게임업계 갈생각인데 [4] 게임업(59.30) 12.01.09 192 1
297852 제발 실력있는 웹디자이너 프리랜서 한 명만 소개시켜줘 [4] KA-1(221.155) 12.01.09 217 0
297851 아오 이제 H.264 볼 때는 PowerDVD만 써야지... [9] 분당살람갤로그로 이동합니다. 12.01.09 121 0
297850 애플릿 많이쓰여? ㅂㅈㄷ(210.178) 12.01.09 37 0
297849 괴상한 c언어 문법 질문 있습니다. [3] ㅋㅋ(121.169) 12.01.09 243 0
297847 프게이들 서류 작업 귀찮지 않냐? [3] □ㅁ갤로그로 이동합니다. 12.01.09 76 0
297846 네이년이나 프갤이나 ㅋㅋ [8] 신도림행(1.99) 12.01.09 166 0
297845 웹디자인과 웹프로그랭은 별개? [2] 볼일같은잠(59.13) 12.01.09 129 0
297844 비쥬얼 스튜디오 단축키 질문 [1] ㅁㄴㄴㅇㄹ(210.178) 12.01.09 57 0
297843 인턴 첫 출근.......... [4] 주시미갤로그로 이동합니다. 12.01.09 162 0
297842 asus ㅅㅂ ㅠㅠ [1] C_Perl갤로그로 이동합니다. 12.01.09 57 0
297841 1000배 빠른 5G ㄷㄷㄷ [2] 개심심(61.73) 12.01.09 109 0
297838 html? jsp? 궁금한게 있어요; [2] 궁금해요(203.171) 12.01.09 81 0
297837 php 변수 질문좀...ㅠㅠ [2] 전설의대지갤로그로 이동합니다. 12.01.09 54 0
297835 횽들 공전 그려주는 알고리즘인데 질문있슴다. [4] 치킨맛맛폰갤로그로 이동합니다. 12.01.09 107 0
297833 형들 이거 하나만 물어볼께 [11] C+ㅏ+ㅏ갤로그로 이동합니다. 12.01.09 124 0
297829 내가 좋은 데 알아왔다 -ㅂ-(183.102) 12.01.09 59 0
297827 나는 취미로 웹프로그래밍해서 부담이 없어서 좋음ㅋ [1] oniiion갤로그로 이동합니다. 12.01.09 142 0
297826 회사 다니면서 대학원을 생각해 보고 있는데 대학원은 어때?? [3] 거칠게갤로그로 이동합니다. 12.01.09 295 0
297825 질문드릴께요 [2] 잉년과아이들갤로그로 이동합니다. 12.01.09 122 0
297824 죽을맛이구나... [2] 돌아이바갤로그로 이동합니다. 12.01.09 56 0
297823 혼자 독학해서 취직할수있뜸? [11] 질문자(220.85) 12.01.09 225 0
297822 방구하기 정말 힘들다... [4] 캐미션닭(121.88) 12.01.09 108 0
297821 실력있는 웹디 프리랜서는 어디가면 구할 수 있어? [1] KA-1(210.106) 12.01.09 155 0
297820 기초적인 코드 질문입니다! [7] 조코랭슐(14.56) 12.01.08 105 0
297819 프로세스클린 믿을만한가여? ㅁㄴㅇ(186.2) 12.01.08 68 0
297818 후..... 오늘 교회에서 자기소개 하는데...... [4] 거칠게갤로그로 이동합니다. 12.01.08 195 0
297817 아.. 테트리스 미치겠다.. 도와주실 횽들 ㅠㅠ [1] dd(112.162) 12.01.08 89 0
297816 컴퓨터 공부 어떻게 시작해야되나요??? [6] ㅁㄴㅇㄹ(121.135) 12.01.08 118 0
297813 C++을 배우긴했는데 코딩스타일이 자꾸 C스타일로 짠다면 [26] aaa(175.207) 12.01.08 275 0
297811 제작 문의 합니다... 보수 o [2] wer(121.147) 12.01.08 85 0
297810 뉴비님들. 프로그래밍을 잘할려면 말야~ [6] (112.152) 12.01.08 163 0
297809 트위터 비공개 트윗 질문점요 [2] add(122.43) 12.01.08 639 0
297808 ....shout....새해엔 꼭...// 학교가자갤로그로 이동합니다. 12.01.08 41 0
297807 다음팟 dxva 설정 포기 T T [1] 분당살람갤로그로 이동합니다. 12.01.08 88 0
297805 비트학원가서 상담받았는데.... [23] 질문자(220.85) 12.01.08 538 0
297803 이게 프로그래머 영역인가, 웹디 영역인가 구분 좀 해줘. [4] KA-1(210.106) 12.01.08 177 0
297802 일본어 잘하면 취업할때 ?유리할까? [3] ㅎㅎ(219.167) 12.01.08 298 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2