디시인사이드 갤러리

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

갤러리 본문 영역

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

앍이게뭐야갤로그로 이동합니다. 2012.01.08 15:54:05
조회 166 추천 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/12/01 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
298804 퇴사한지 2주째 [1] 므해?갤로그로 이동합니다. 12.01.15 129 0
298803 c#이 c++보다 낳은점이 뭐가있나여 [1] 회전매니아갤로그로 이동합니다. 12.01.15 124 0
298801 하아 Expert C Programming이책 넘 구하기 힘들다 [2] 일광면(119.198) 12.01.15 103 0
298800 말년 휴가 나왓는데 .. 코딩 기억나나 찍어볼려고 햇는데 [1] 까르갤로그로 이동합니다. 12.01.15 73 0
298799 윈도우7도 콘솔 고자였네 dot(125.128) 12.01.15 74 0
298798 밑에글 요약 (테트리스 정도는 초등학생도 쉽게 만들 수 있는가?) [7] qxq(59.24) 12.01.15 248 0
298796 허세 부리지 말고 까놓고 말해서... [3] qxq(59.24) 12.01.15 193 0
298795 형님들 전자10(115.21) 12.01.15 35 0
298794 인공지능은 컴퓨터 과학/공학과 다른 독자적인 학문분야일세... [5] ㅇㅇ(221.147) 12.01.15 216 0
298793 형들 기업에서 요구하는게 c야 c++이야? [4] 김탱구○갤로그로 이동합니다. 12.01.15 213 0
298791 인공지능 존내 발전하면 [2] 천재(211.197) 12.01.15 115 0
298790 인공지능은 90년대에 유망하다던 분야인데 망했어요 [7] [성대아싸]갤로그로 이동합니다. 12.01.15 271 0
298789 바이러스 의심가는 exe파일 안전하게 여는 법 없나여 [3] 하니하니.갤로그로 이동합니다. 12.01.15 104 0
298788 나도 인공지능에 관심 있는데 [11] 천재(211.197) 12.01.15 166 0
298787 이거 C로 반복문 안써서 구현할수 있나요? [8] omaggo갤로그로 이동합니다. 12.01.15 173 0
298786 인공지능에 대해 좀 아는사람있나? [3] 근데(175.198) 12.01.15 112 0
298785 형들 나형들이 [1] 코딩...?갤로그로 이동합니다. 12.01.15 81 0
298784 문제는.... [1] 쿄스케갤로그로 이동합니다. 12.01.15 57 0
298783 바이오스 질문하나할께횽~ 윗휴갤로그로 이동합니다. 12.01.15 45 0
298782 쿄스케횽 돌아와 [2] dlbo갤로그로 이동합니다. 12.01.15 68 0
298780 오늘도 솔로 [1] elwlwlwk갤로그로 이동합니다. 12.01.15 73 0
298779 이런 공모전은 처음본다 카오드림드(211.246) 12.01.15 113 1
298775 우분투도 보안 뚫린다... [3] 065갤로그로 이동합니다. 12.01.14 134 0
298773 아 내 발톱 ㅠㅠ [5] [성대아싸]갤로그로 이동합니다. 12.01.14 86 0
298771 근데 횽들은 회사 앞에 임베디드 치킨이 있으면 시켜먹을꺼임? [2] dlbo갤로그로 이동합니다. 12.01.14 87 0
298770 치킨집 보다는.. ㅇㅇ [8] ☎v2.0™갤로그로 이동합니다. 12.01.14 99 0
298769 디씨에서 모바일 웹이 나올 줄은 [2] dot(125.128) 12.01.14 96 0
298767 임베디드치킨집 정리해봐따 [10] dlbo갤로그로 이동합니다. 12.01.14 158 0
298766 C# Dictionary 질문점여 형님들 뉴비(121.137) 12.01.14 53 0
298765 MFC치킨집 차리면 장사 잘댈것 같다 [1] 천재(211.197) 12.01.14 88 0
298764 ASSA3d 루빅 큐브, 변경했음 테스트좀ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ [5] [성대아싸]갤로그로 이동합니다. 12.01.14 92 0
298763 오늘 면접 후기.. 개발자들에게 실망했다. 한마음택배(114.202) 12.01.14 175 1
298762 프로그래밍 좆밥이네 천재(211.197) 12.01.14 60 0
298761 이거 html5로 만든 게임인데, 화려하다. 파이브하자(183.1) 12.01.14 147 0
298760 임베디드 치킨 이름에 걸맞게 이거 dlbo갤로그로 이동합니다. 12.01.14 48 0
298759 네떡이 개같군요 dot(125.128) 12.01.14 41 0
298758 임베디드 치킨 새로운 아이템 [1] 거칠게갤로그로 이동합니다. 12.01.14 61 0
298757 설렌다 임베디드 치킨 dlbo갤로그로 이동합니다. 12.01.14 49 0
298756 엑셀파일 저장한게 CMD 파일로 바꼈어요 ㅠㅠ [6] 바보생키(115.93) 12.01.14 95 0
298755 오케이 한국엔 임베디드 치킨 미쿡엔 임베디드 분식 [4] dlbo갤로그로 이동합니다. 12.01.14 72 0
298754 한국에는 임베디드 치킨, 미쿡에는 임베디드 김치 [4] dlbo갤로그로 이동합니다. 12.01.14 66 0
298753 gtx 465 xp dx9 device 생성 실패 [1] ㅁㄴㅇㄹ(112.187) 12.01.14 61 0
298752 임베디드 치킨을 열고 키워서 실리콘밸리로 진출하는거야 [3] dlbo갤로그로 이동합니다. 12.01.14 62 0
298751 치킨은 레드오션아니냐? 다른거 팔자 [2] 거칠게갤로그로 이동합니다. 12.01.14 83 0
298750 로또 되면 가산디지털단지랑 구로디지털이랑 성수역일대에 [5] dlbo갤로그로 이동합니다. 12.01.14 103 0
298749 야이 지금 이란과 미쿡이 전쟁 일으킬지도 모르는데 잠이오냐?? [2] 거칠게갤로그로 이동합니다. 12.01.14 81 0
298748 님들아 저의 진로 상담좀 부탁염 [4] 유페미아(211.212) 12.01.14 67 0
298746 웹플머가 그렇게 막장인가요? [1] ㅇㅇ(112.144) 12.01.14 113 0
298745 업그레이드 ....//? 학교가자갤로그로 이동합니다. 12.01.14 26 0
298744 프로그래밍 좀 한다 하는 사람들을 이걸 알겠지? [1] SODMaster갤로그로 이동합니다. 12.01.14 88 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2