디시인사이드 갤러리

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

갤러리 본문 영역

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

앍이게뭐야갤로그로 이동합니다. 2012.01.08 15:54:05
조회 147 추천 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 저녁 뭐먹지? 오늘의 메뉴 추천! 운영자 25/10/31 - -
297987 오늘 면접보러감 꿀레(121.168) 12.01.10 88 0
297986 html5가 따로 배워야할 수준이냐? html4랑 많이 틀림? [2] ㄴㄹㅇ(218.48) 12.01.10 193 0
297985 프로그래밍에서 중요한것. 10년차임 [3] sstt(110.14) 12.01.10 201 1
297984 나 먼가 장애있는거야 형들? 크롬 탭이 매일 20개가 넘어감 [5] 엌ㅋ(112.223) 12.01.10 111 0
297983 회사에서 웹디자이너 한테 HTML5 배우래 [5] (112.76) 12.01.10 195 0
297982 C# 질문점 리누슽발즈(220.70) 12.01.10 48 0
297981 티스토리 초대장 하나만주셍요 굽신굽신 [1] ㅁㅁㅁ(211.232) 12.01.10 49 0
297980 HTML5에서 아이폰 바탕화면 드래그(?) 같은걸 구현해야하는데 [2] 흑흑(112.223) 12.01.10 78 0
297978 table 이 졸라 많은 한국 웹싸이트.. [1] iljeomobolt갤로그로 이동합니다. 12.01.10 95 0
297976 어우 졸려... [1] ㅋㄱ(183.96) 12.01.10 50 0
297975 성대아싸횽 [7] ♪♩안봉봉♬갤로그로 이동합니다. 12.01.10 134 0
297974 형들 웹하드에서 게임 돈주고 다운받았는데 멀티가 안되요;; [10] 도와주세요(115.23) 12.01.10 138 0
297973 윈도폰 개발공부중인데 공부 참조할만한 커뮤니티 아시는거좀.. [3] 파괴대마왕갤로그로 이동합니다. 12.01.10 59 0
297970 재귀썌끼 존나 맘에 안들어요.. [2] 뇌성능(61.80) 12.01.10 94 0
297969 아무래도 인간에 머릿속에 여러가지 칩들을 넣어야될것같아 [2] lucy_han갤로그로 이동합니다. 12.01.10 53 0
297968 궁금한게 있어서 물어봤는데요... [1] 뇌성능(61.80) 12.01.10 60 0
297966 연산자 오버로딩에 대해 자세히 나와있는 글 없나 [1] elwlwlwk갤로그로 이동합니다. 12.01.10 61 0
297964 안녕하세요 C에 대해서 좀 여쭤보겠습니다^^ [3] 몽키C갤로그로 이동합니다. 12.01.10 88 0
297963 뇌성능이 딸리는게 이런거임? [5] 뇌성능(61.80) 12.01.10 153 0
297960 VB보다 RPG만들기가 프로그래밍 입문으로 더 좋은듯 [6] 영어쓰던남자갤로그로 이동합니다. 12.01.10 179 0
297959 스레드 문제인 것 같은데 어디가 문제인지 모르겠음-_- [1] ㅋㄱ(183.96) 12.01.10 58 0
297958 몇 몇 높으신분들과 경력쌓은분들은 참 신기해... [7] 참신기해(211.221) 12.01.10 166 0
297956 ASSA3d 엔진 샌드박스 [17] [성대아싸]갤로그로 이동합니다. 12.01.10 155 1
297955 네이버는 운이 따라서 발전한 웹이냐? [4] ;ㅇㄴㄻ(121.173) 12.01.10 114 0
297954 touching..........// Good..!!! 학교가자갤로그로 이동합니다. 12.01.10 35 0
297953 소드마스터님 [24] 헬프미(125.177) 12.01.10 155 0
297952 이정도 스펙이면 대기업si 뚫을수있냐 [8] 평가좀(110.15) 12.01.10 569 0
297951 모바일 웹페이지(스마트폰용)을 개발할려고 하는데 책좀 추천해줘.. (112.152) 12.01.10 73 0
297950 부모님 결혼기념일 선물 적당한거 머 있을까요~? [3] 양랩(220.119) 12.01.10 109 0
297949 나 프로그래밍에 소질이 없는거지? [6] C초보 ㅋ(121.157) 12.01.10 201 0
297948 정중하게 부탁드립니다 [9] 헬프미(125.177) 12.01.10 113 0
297945 2차원 배열을 해서 곱을 구하는거같은데 핼프좀 [1] C초보 ㅋ(121.157) 12.01.09 81 0
297943 간단한 자바스크립트 질문여.. [3] Partyup갤로그로 이동합니다. 12.01.09 78 0
297942 게임 프로그래밍 하기 좋은 언어랑 책좀 추천요 [2] 야요이갤로그로 이동합니다. 12.01.09 100 0
297940 ************ 오늘의 문제 **************** [7] 다채(211.230) 12.01.09 108 0
297939 배열에 있는 정보를 문자열로 만드는거 질문좀 드릴게요 [2] aaa(175.207) 12.01.09 44 0
297937 c# 루프 돌아가다가 멈춤 [4] ㅊㅊ(61.75) 12.01.09 116 0
297936 형 질문 [1] 쒦뚫쉚뚫샒휆뚫뚫쒦갤로그로 이동합니다. 12.01.09 40 0
297933 JAVA 온라인강의로도 취업가능한가요? [1] 촙초보(116.40) 12.01.09 152 0
297932 썬더볼트 기술 쩌네.. ㅅㅂ... usb sata다 버리고싶다 Stan(220.244) 12.01.09 96 0
297931 POREN or BICNS 안드로이드개발자 채용확정자 국비지원 전원취업교 국비지원갤로그로 이동합니다. 12.01.09 46 0
297929 형들 이진트리 반복문을 통한 순회 코드인데요.... [6] 김성엽(203.253) 12.01.09 132 0
297928 php 뉴빈데 php자격증이있음?? [1] 늅늅(121.130) 12.01.09 114 0
297926 c언어 과젠데 졸 어렵다 ㅜ.ㅜ [10] 메카돼지(14.37) 12.01.09 155 0
297925 형들 이클립스 작업창 질문점.. [5] ㅇㅇ(61.109) 12.01.09 118 0
297923 c초보가 올리는 질문 글 입니다요... [2] C초보(114.206) 12.01.09 56 0
297921 횽들! 나 오늘은 배열을 공부했어! [4] 쿠마코갤로그로 이동합니다. 12.01.09 78 0
297920 간만에 웹 제작을 해야해서 선택한 프레임웍인데 좀 봐줘 엠비씨(183.1) 12.01.09 60 0
297919 밥먹고 왔는데 ㅋㅋ 곽팀장 너 나 너무 좋아하는거 아니냐 ㅋㅋ 캐db닭(115.92) 12.01.09 68 0
297918 형아들 겔러리 짤중에.....ㅠㅠ 정통27갤로그로 이동합니다. 12.01.09 40 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2