안드로이드 개발 질문/답변
(글 수 45,052)
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 줄의 함수 안닫혔습니다.