디시인사이드 갤러리

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

갤러리 본문 영역

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

앍이게뭐야갤로그로 이동합니다. 2012.01.08 15:54:05
조회 146 추천 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 - -
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 65 0
297818 후..... 오늘 교회에서 자기소개 하는데...... [4] 거칠게갤로그로 이동합니다. 12.01.08 195 0
297817 아.. 테트리스 미치겠다.. 도와주실 횽들 ㅠㅠ [1] dd(112.162) 12.01.08 85 0
297816 컴퓨터 공부 어떻게 시작해야되나요??? [6] ㅁㄴㅇㄹ(121.135) 12.01.08 114 0
297813 C++을 배우긴했는데 코딩스타일이 자꾸 C스타일로 짠다면 [26] aaa(175.207) 12.01.08 270 0
297811 제작 문의 합니다... 보수 o [2] wer(121.147) 12.01.08 80 0
297810 뉴비님들. 프로그래밍을 잘할려면 말야~ [6] (112.152) 12.01.08 161 0
297809 트위터 비공개 트윗 질문점요 [2] add(122.43) 12.01.08 632 0
297808 ....shout....새해엔 꼭...// 학교가자갤로그로 이동합니다. 12.01.08 37 0
297807 다음팟 dxva 설정 포기 T T [1] 분당살람갤로그로 이동합니다. 12.01.08 85 0
297805 비트학원가서 상담받았는데.... [23] 질문자(220.85) 12.01.08 531 0
297803 이게 프로그래머 영역인가, 웹디 영역인가 구분 좀 해줘. [4] KA-1(210.106) 12.01.08 173 0
297802 일본어 잘하면 취업할때 ?유리할까? [3] ㅎㅎ(219.167) 12.01.08 293 0
297801 전자공학과인데 [2] 물리학광신도(222.232) 12.01.08 130 0
297800 횽들 암호화 API 공부하고있는뎀... 늅늅(121.183) 12.01.08 224 0
297797 OpenGL 단계별 추천 서적 좀 쎄워줘. [3] 오프니지엘(183.1) 12.01.08 129 0
297796 RIA는 이제 HTML5로 귀속되는 거냐? 오프니지엘(183.1) 12.01.08 74 0
297795 자바 고수님들 답변 좀 해줘 ㅠㅠㅠ 시방 [1] 하얀(118.129) 12.01.08 107 0
297794 문자열 역순 배열 코딩 한 것좀 질문을 ㅠㅠ [3] (163.152) 12.01.08 176 0
297792 밑에 안드로이드 배열 질문 올린애 보길... [2] 돌아이바갤로그로 이동합니다. 12.01.08 117 0
297791 주말 출근 짱난다.. [1] 아 짜증나(175.211) 12.01.08 100 0
형들 자바 (안드로이드)질문 [배열, 객체, 참조] 앍이게뭐야갤로그로 이동합니다. 12.01.08 146 0
297789 php 세션 좀 질문할게요 [5] 전설의대지갤로그로 이동합니다. 12.01.08 117 0
297788 의욕 충만해서 알바를 여러개 받았는데 하나는 그만둬야 할 때... [1] ㅁㄴ(210.107) 12.01.08 128 0
297785 알바도 안구해지고.. 무력감만 든다 할 수 있는게 없다 [3] 추상화갤로그로 이동합니다. 12.01.08 173 0
297783 왜 우리나라만 엑티브x에 목을매달까 [4] 래댁갤로그로 이동합니다. 12.01.08 205 0
297781 프겔러들은 프로포즈도 프로그램으로 하자 [2] 거칠게갤로그로 이동합니다. 12.01.08 126 0
297780 형들 병특은 연초외에는 구하기 힘든가요? [4] ㅁㄴ(210.107) 12.01.08 129 0
297779 이 삼십대는 삼포 세대라는게 사실인가염 [1] 거칠게갤로그로 이동합니다. 12.01.08 102 0
297776 젠장 뷔페에 커피가 없다 [2] 외계달팽갤로그로 이동합니다. 12.01.08 65 0
297775 영어 공부 ㅠㅠ [3] [성대아싸]갤로그로 이동합니다. 12.01.08 135 0
297774 지금 뷔페에서 혼자 밥먹고 있다 [7] 외계달팽갤로그로 이동합니다. 12.01.08 141 0
297773 코스트코 피자 사먹으러 갈까 고민중이다. [1] ㅇㅇ(59.26) 12.01.08 54 0
297772 프로그래밍 잘하는 가장 단순한 방법! [10] Deskjet(180.71) 12.01.08 365 0
297771 아.. 제주도 떠나기 싫다 [6] 알탱o갤로그로 이동합니다. 12.01.08 127 0
297770 gdb 아시는분들만 [3] 똘꾸갤로그로 이동합니다. 12.01.08 64 0
297769 근데 집에서 개인용 소형 서버 돌리면 [4] dlbo갤로그로 이동합니다. 12.01.08 119 0
297768 이곳에서 10^9^8^7^6^5^4^3^2^1 이 몇인지 구할수 있는분? [4] 쁘따쁘갤로그로 이동합니다. 12.01.08 142 0
297764 세화흉.. 세화흉보삼..(175.211) 12.01.08 37 0
297761 형들 펜티엄D로 동접몇명버틸까? [2] ㅂㅈㄷㄱ쇼(203.226) 12.01.08 105 0
297760 공장 품질 관리팀이 하는 일이 뭐야?? [4] 거칠게갤로그로 이동합니다. 12.01.08 419 0
297759 정보보안쪽 희망하는데 해야할 수학과목... [4] 레몬트리1갤로그로 이동합니다. 12.01.08 206 0
297758 흐아 넘 어려워.. 일광면(119.198) 12.01.08 64 0
297756 [2] ㅁㄴㅇㄹ(221.143) 12.01.08 98 0
297755 프갤엉아들 여러가지 조언 감사했음 다들 꿀잠ㅃㅃ 복학생소프트(118.33) 12.01.08 44 0
297753 형들 답변달아주면 일주일안에 여친생길거임 [2] 우리동네호구갤로그로 이동합니다. 12.01.08 79 0
297752 소프트웨어학과 복학생 c언어 물어볼것좀 헤헤 [18] 복학생소프트(118.33) 12.01.08 223 0
297750 형들 내가 셀정렬이라는걸 짜봤는데.. [3] 헤헤(61.80) 12.01.08 121 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2