안드로이드 개발 질문/답변
(글 수 358)
public class MagazineActivity extends Activity { private ViewPager mPager; // 뷰 페이저 private final int COUNT = 5; // 플리킹 될 페이지 개수 // 밑에 메뉴 버튼 private ImageButton imageButton0; private ImageButton imageButton1; private ImageButton imageButton2; private ImageButton imageButton3; private ImageButton imageButton4; private int [] resourceMenuBtnArr = { R.id.imageButton1, R.id.imageButton2, R.id.imageButton3, R.id.imageButton4, R.id.imageButton5 }; private ImageButton [] menuBtnArr = { imageButton0, imageButton1, imageButton2, imageButton3, imageButton4 }; // 컨텐츠에 들어가는 버튼 private ImageButton contentsButton0; private ImageButton contentsButton1; private ImageButton contentsButton2; private ImageButton contentsButton3; private int [] resourceContentsBtnArr = { R.id.btn1, R.id.btn2, R.id.btn3, R.id.btn4 }; private ImageButton [] contentsBtnArr = { contentsButton0, contentsButton1, contentsButton2, contentsButton3 }; // 컨텐츠 이미지 private int [] resourceContentsImageArr = { R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d, R.drawable.e }; // 넘어가는 페이지마다 다르게 설정할 버튼 색상 & 텍스트 private int [] colorArr = { Color.RED, Color.YELLOW, Color.GREEN, Color.BLUE, Color.MAGENTA }; private String [] btnTextArr = { "Menu1의 버튼", "Menu1의 버튼", "Menu1의 버튼", "Menu1의 버튼" }; @Override public void onCreate ( Bundle savedInstanceState ) { super.onCreate( savedInstanceState ); setContentView( R.layout.main ); mPager = (ViewPager) findViewById( R.id.pager ); // 페이저 mPager.setAdapter( new BkPagerAdapter( getApplicationContext() ) ); // 페이저 어댑터 연결 //아이템이 변경되면, gallery나 listview의 onItemSelectedListener와 비슷 mPager.setOnPageChangeListener( new OnPageChangeListener() { public void onPageSelected ( int position ) {//아이템이 선택이 되었으면 } public void onPageScrolled ( int position, float positionOffest, int positionOffsetPixels ) { } public void onPageScrollStateChanged ( int state ) { } } ); /** 하단의 바로가기 버튼 등록하고 클릭 리스너 연결 */ for ( int i = 0; i < COUNT; i++ ) { menuBtnArr[i] = (ImageButton) findViewById( resourceMenuBtnArr[i] ); menuBtnArr[i].setOnClickListener( bHandler ); } }// end onCreate private OnClickListener bHandler = new OnClickListener() { @Override public void onClick ( View v ) { switch ( v.getId() ) { // 하단 바로가기 버튼 case R.id.imageButton1 : mPager.setCurrentItem( 0 ); break; } }; /****************************************************** * Pager 아답터 구현 *******************************************************/ private class BkPagerAdapter extends PagerAdapter { View v = null; private LayoutInflater mInflater; public BkPagerAdapter ( Context con ) { super(); mInflater = LayoutInflater.from( con ); } @Override public int getCount () { return COUNT; // 플리핑 할 페이지 개수 } @Override /** 뷰페이저에서 사용할 뷰객체 생성/등록 */ public Object instantiateItem ( View pager, int position ) { v = mInflater.inflate( R.layout.default_layout, null ); // 버튼 등록하고 이벤트 세팅 for ( int i = 0; i < contentsBtnArr.length; i++ ) { contentsBtnArr[ i ] = (ImageButton) v.findViewById ( resourceContentsBtnArr[ i ] ); // contentsBtnArr[ i ].setOnClickListener( bHandler ); contentsBtnArr[ i ].setBackgroundColor( colorArr[ i ] ); } // 레이아웃에 이미지 설정 v.setBackgroundResource( resourceContentsImageArr[ position ] ); ( (ViewPager) pager ).addView( v, 0 ); return v; } // 뷰 객체 삭제. @Override public void destroyItem ( View pager, int position, Object view ) { ( (ViewPager) pager ).removeView( (View) view ); } // instantiateItem메소드에서 생성한 객체를 이용할 것인지 @Override public boolean isViewFromObject ( View view, Object obj ) { return view == obj; } @Override public void finishUpdate ( View arg0 ) {} @Override public void restoreState ( Parcelable arg0, ClassLoader arg1 ) {} @Override public Parcelable saveState () { return null; } @Override public void startUpdate ( View arg0 ) {} }// end BkPagerAdapter }
맨 마지막 줄에 Syntax Error가 뜨구요...
중간에 파랗게 체크한 클래스 객체 생성하는 부분에서도 에러가 뜨는데, (54번 라인)
도대체 왜 ㅜ ㅜ 뜨는건지 알 수가 없습니당...
도와주세요 !!!!
80 줄의 함수 안닫혔습니다.