디시인사이드 갤러리

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

갤러리 본문 영역

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

앍이게뭐야갤로그로 이동합니다. 2012.01.08 15:54:05
조회 153 추천 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/17 - -
AD 겨울가전 SALE! 쿨한 겨울 HOT세일 운영자 25/11/12 - -
298075 수능 수리나형 vs c언어 [1] ㅇㅇ(175.211) 12.01.10 116 0
298073 5군데 이력서 넣었는데..... [1] 퐈응퐈응갤로그로 이동합니다. 12.01.10 110 0
298071 SUlinux어떰?? [4] C_Perl갤로그로 이동합니다. 12.01.10 62 0
298070 현재242,355의 위치의 픽셀의 색상값을 엑셀에G13에 표시하려면 엑셀(216.232) 12.01.10 311 0
298069 연봉 5천준다고 오라는데..어쩔까.... [1] 캐뻘짓닭(115.92) 12.01.10 222 0
298068 회사에 여자플머 4명이 있다. [1] 캐뻘짓닭(115.92) 12.01.10 242 0
298066 형들 병특질문점요 [2] aaasss(121.166) 12.01.10 109 0
298065 눈 안좋아지게 하는 방법이 뭐가 있을까 [7] elwlwlwk갤로그로 이동합니다. 12.01.10 158 0
298064 컴공가면 병특 가능?? [3] dd(175.211) 12.01.10 200 0
298063 C언어 배워보려고 열혈강의C프로그래밍 빌려왔는데 [5] J.min갤로그로 이동합니다. 12.01.10 187 0
298062 게임업계는 이제 서버/그래픽 디자이너로 흘러가게 된다능... [11] ㅇㅇ(221.147) 12.01.10 216 0
298061 프로그래머될라면 어떻게함? [4] dd(175.211) 12.01.10 133 0
298060 프로그래머 돈잘범?? [4] dd(175.211) 12.01.10 205 0
298059 일 따오는 놈들이 병진이면 모두가 피곤하다 [1] 거칠게갤로그로 이동합니다. 12.01.10 100 0
298058 형들 이거 좀 도와줘 [4] YopMail갤로그로 이동합니다. 12.01.10 149 0
298057 가려는 회사에 임원 여자 비율이 50%가 넘는다길래 존나 무섭... [3] ㅁㄴㅇㄹ(59.30) 12.01.10 169 0
298056 프로그래밍 형님들 질문좀 알바 전산업무 관련 [6] dd(175.211) 12.01.10 106 0
298052 C언어 질문좀.. [6] 살려쥬셉(218.153) 12.01.10 236 0
298051 지금부터 플렉스 배우기 시작하는거 어떻게 생각함? [7] ㅇㅇ(1.212) 12.01.10 122 0
298050 산업스파이 기사보고.. [4] iljeomobolt갤로그로 이동합니다. 12.01.10 121 0
298049 사과 앱 만든 게 무료 어플인데 수익이 이 정도 나고 있는데... [5] 엠비씨(183.1) 12.01.10 237 0
298047 횽들 그누보드 같은거 어때? [2] 나리링갤로그로 이동합니다. 12.01.10 99 0
298045 sehwa [6] ♪♩안봉봉♬갤로그로 이동합니다. 12.01.10 122 0
298044 인디언식 작명법(양력이라고함. ㅇㅇ) [5] ☎v2.0™갤로그로 이동합니다. 12.01.10 115 0
298043 로또가 그리좋음? 당첨될수 있는지 없는지 알수 잇는 방법 갈켜드림 [5] (210.93) 12.01.10 105 0
298042 프로그래머가 꼭 알아야 할것. [4] sstt(110.14) 12.01.10 210 0
298041 아래 하도급 기사 보고.. 지금 나의 위치는... [3] iljeomobolt갤로그로 이동합니다. 12.01.10 97 0
298040 친구가 붕어빵 기계 빌려다가 팔고 있는데 수익이 생각보다 짭짤하다고 한다 [5] 거칠게갤로그로 이동합니다. 12.01.10 244 0
298039 Waste can be many things. 우리말로 하면? [15] 캐영어닭(115.92) 12.01.10 119 0
298038 이런글 올려서 죄송합니다. ㅠㅠ [3] 유동닉(121.145) 12.01.10 79 0
298037 SQL 인젝션이몬가여?? 이런기사가 떳는데 쉽게 설명좀해주세요 [11] 궁구미(58.150) 12.01.10 162 0
298036 데브피아 개발자 고충 상담 게시판을 보고 느낀점 [1] 거칠게갤로그로 이동합니다. 12.01.10 156 0
298035 질문하나 있는데...... hta 확장자로 끝나는 프로그램 배울려면... [32] 로또로(218.159) 12.01.10 223 0
298034 질문하나 드립니다. ㅠㅠ [5] 유동닉(121.145) 12.01.10 64 0
298033 로또를 프로그램 만들어서 일등 할 수 있을까? [47] 로또로(218.159) 12.01.10 263 0
298032 형들 게임업계 힘든건 둘째치고 서버쪽이 더많이배워요 아님 클라쪽?? [4] ㅁㄴㅇㄹ(59.30) 12.01.10 116 0
298031 C언어 배우러 학원 온 전공생들이 [22] 쿠마코갤로그로 이동합니다. 12.01.10 321 0
298030 공장 공장 거리는데 공장 가본사람 있으셈? [5] 1(183.104) 12.01.10 166 0
298029 영어 시발ㅋ 다크엔젤z갤로그로 이동합니다. 12.01.10 50 0
298028 으으 잉여력이 부족해~~~ 거칠게갤로그로 이동합니다. 12.01.10 54 0
298027 애정남에 IT 개발자 단가를 정해달라고 하고 싶다. [4] 거칠게갤로그로 이동합니다. 12.01.10 204 0
298026 C배우러 학원왔는데 [7] 쿠마코갤로그로 이동합니다. 12.01.10 164 0
298025 한국 개발자 테크트리는 뭔가염? [4] 거칠게갤로그로 이동합니다. 12.01.10 251 0
298023 장애인 문안 인사 드리옵니다. 안드로이드 좀 아는놈이나 자바 빠삭한 봐줘 [2] kknd(121.174) 12.01.10 95 0
298020 으으 허무감이 밀려온다...... [1] 거칠게갤로그로 이동합니다. 12.01.10 76 0
298019 코드 난독화 왜 하냐?? [8] ㅇㅇㅇ갤로그로 이동합니다. 12.01.10 266 0
298018 횽들.. 취업했는디.. [2] 그러함(112.150) 12.01.10 128 0
298015 졸린 오후에 찾아온 적절한 뮤비 투척 거칠게갤로그로 이동합니다. 12.01.10 63 0
298014 횽들아. 요새 미분 책보고 있는데; 미분에 대해서 머 좀 물어보겠음; [6] ㅁㅁㅁ(116.121) 12.01.10 111 0
298013 에잇 좋은 짤방이나 보자!!(뒤는 알아서 조심하던지 말던지!!) [3] 거칠게갤로그로 이동합니다. 12.01.10 161 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2