디시인사이드 갤러리

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

갤러리 본문 영역

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

앍이게뭐야갤로그로 이동합니다. 2012.01.08 15:54:05
조회 160 추천 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 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
298823 클라이언트 프로그래머 되려는데 커리큘럼 비교좀 해주세요!!!!!!~~~~ [2] 맹러(175.123) 12.01.15 132 0
298821 전에 나 집에 있을때 집으로 온 전화 기억난다 [2] dlbo갤로그로 이동합니다. 12.01.15 44 0
298818 횽들 class를 사용하려면 iostream이 필요한거야???? [1] 플밍 초보 (121.164) 12.01.15 4718 0
298817 우리 이모부.. 보이스 피싱 당하셨다네..... [5] 쿄스케갤로그로 이동합니다. 12.01.15 121 0
298816 프갤러 형들 프갤 늅인데 인턴 질문좀(계약직같은거) 정육갤로그로 이동합니다. 12.01.15 43 0
298815 역시 임베디드 치킨이 제일 좋겠어 dlbo갤로그로 이동합니다. 12.01.15 46 0
298814 c언어 공부하면서 수학딸린다는게 존나 느껴져서 수학공부 시작하려고 하는데 [5] 세탁범갤로그로 이동합니다. 12.01.15 160 0
298813 어제도 올렸지만 답이 없던 질문 재질문합니당. [2] SODMaster갤로그로 이동합니다. 12.01.15 58 0
298812 C#이 C++ 보다 좋은 점에 대한 질문에 대해서... [1] 바보플머(222.121) 12.01.15 156 0
298811 그것에 대해서 무엇을 얼마나 아느냐가 중요한게 아닌 것 같다. [2] 바보플머(222.121) 12.01.15 75 0
298808 정보처리기사 이제 비전공이면 경력 꼭 필요하냐? [2] 으헝(58.122) 12.01.15 167 0
298807 for 문 뒤에는 ; 안붙여도 됨/?? [4] 노소프소갤로그로 이동합니다. 12.01.15 107 0
298806 횽들 개뉴비가 c sprintf 질문좀 할게요 [2] 노소프소갤로그로 이동합니다. 12.01.15 62 0
298805 좆뉴비인데 횽들 API 뭐로해야할지도와줘,, 123(58.148) 12.01.15 48 0
298804 퇴사한지 2주째 [1] 므해?갤로그로 이동합니다. 12.01.15 121 0
298803 c#이 c++보다 낳은점이 뭐가있나여 [1] 회전매니아갤로그로 이동합니다. 12.01.15 120 0
298801 하아 Expert C Programming이책 넘 구하기 힘들다 [2] 일광면(119.198) 12.01.15 99 0
298800 말년 휴가 나왓는데 .. 코딩 기억나나 찍어볼려고 햇는데 [1] 까르갤로그로 이동합니다. 12.01.15 66 0
298799 윈도우7도 콘솔 고자였네 dot(125.128) 12.01.15 69 0
298798 밑에글 요약 (테트리스 정도는 초등학생도 쉽게 만들 수 있는가?) [7] qxq(59.24) 12.01.15 242 0
298796 허세 부리지 말고 까놓고 말해서... [3] qxq(59.24) 12.01.15 190 0
298795 형님들 전자10(115.21) 12.01.15 28 0
298794 인공지능은 컴퓨터 과학/공학과 다른 독자적인 학문분야일세... [5] ㅇㅇ(221.147) 12.01.15 212 0
298793 형들 기업에서 요구하는게 c야 c++이야? [4] 김탱구○갤로그로 이동합니다. 12.01.15 203 0
298791 인공지능 존내 발전하면 [2] 천재(211.197) 12.01.15 111 0
298790 인공지능은 90년대에 유망하다던 분야인데 망했어요 [7] [성대아싸]갤로그로 이동합니다. 12.01.15 267 0
298789 바이러스 의심가는 exe파일 안전하게 여는 법 없나여 [3] 하니하니.갤로그로 이동합니다. 12.01.15 98 0
298788 나도 인공지능에 관심 있는데 [11] 천재(211.197) 12.01.15 164 0
298787 이거 C로 반복문 안써서 구현할수 있나요? [8] omaggo갤로그로 이동합니다. 12.01.15 170 0
298786 인공지능에 대해 좀 아는사람있나? [3] 근데(175.198) 12.01.15 107 0
298785 형들 나형들이 [1] 코딩...?갤로그로 이동합니다. 12.01.15 75 0
298784 문제는.... [1] 쿄스케갤로그로 이동합니다. 12.01.15 51 0
298783 바이오스 질문하나할께횽~ 윗휴갤로그로 이동합니다. 12.01.15 39 0
298782 쿄스케횽 돌아와 [2] dlbo갤로그로 이동합니다. 12.01.15 59 0
298780 오늘도 솔로 [1] elwlwlwk갤로그로 이동합니다. 12.01.15 68 0
298779 이런 공모전은 처음본다 카오드림드(211.246) 12.01.15 109 1
298775 우분투도 보안 뚫린다... [3] 065갤로그로 이동합니다. 12.01.14 128 0
298773 아 내 발톱 ㅠㅠ [5] [성대아싸]갤로그로 이동합니다. 12.01.14 80 0
298771 근데 횽들은 회사 앞에 임베디드 치킨이 있으면 시켜먹을꺼임? [2] dlbo갤로그로 이동합니다. 12.01.14 80 0
298770 치킨집 보다는.. ㅇㅇ [8] ☎v2.0™갤로그로 이동합니다. 12.01.14 94 0
298769 디씨에서 모바일 웹이 나올 줄은 [2] dot(125.128) 12.01.14 89 0
298767 임베디드치킨집 정리해봐따 [10] dlbo갤로그로 이동합니다. 12.01.14 154 0
298766 C# Dictionary 질문점여 형님들 뉴비(121.137) 12.01.14 45 0
298765 MFC치킨집 차리면 장사 잘댈것 같다 [1] 천재(211.197) 12.01.14 84 0
298764 ASSA3d 루빅 큐브, 변경했음 테스트좀ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ [5] [성대아싸]갤로그로 이동합니다. 12.01.14 88 0
298763 오늘 면접 후기.. 개발자들에게 실망했다. 한마음택배(114.202) 12.01.14 171 1
298762 프로그래밍 좆밥이네 천재(211.197) 12.01.14 55 0
298761 이거 html5로 만든 게임인데, 화려하다. 파이브하자(183.1) 12.01.14 141 0
298760 임베디드 치킨 이름에 걸맞게 이거 dlbo갤로그로 이동합니다. 12.01.14 40 0
298759 네떡이 개같군요 dot(125.128) 12.01.14 39 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2