안드로이드 개발 질문/답변
(글 수 45,052)
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class ios extends Activity {
private ViewPager mPager;
private OnClickListener mButtonClick = new OnClickListener() { //클릭 이벤트 객체
public void onClick(View v) {
String text = ((Button)v).getText().toString(); //버튼에만 이벤트를 등록함. 버튼 글자 가져옴.
Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show(); //토스트로 출력
}
};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ios);
mPager = (ViewPager)findViewById(R.id.pager);
mPager.setAdapter(new BkPagerAdapter(getApplicationContext()));
}
//Pager 아답터 구현
private class BkPagerAdapter extends PagerAdapter{
private LayoutInflater mInflater;
public BkPagerAdapter( Context con) {
super();
mInflater = LayoutInflater.from(con);
}
@Override public int getCount() { return 4; } //여기서는 2개만 할 것이다.
//뷰페이저에서 사용할 뷰객체 생성/등록
@Override public Object instantiateItem(View pager, int position) {
View v = null;
if(position==0){
v = mInflater.inflate(R.layout.ip3g, null);
}
else{
v = mInflater.inflate(R.layout.ip3gs, null);
v = mInflater.inflate(R.layout.ip4, null);
v = mInflater.inflate(R.layout.ip4s, null);
}
((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) {}
}
}
=================================================================================================================
예제에 있는건데요
if(position==0){
v = mInflater.inflate(R.layout.ip3g, null);
}
else{
v = mInflater.inflate(R.layout.ip3gs, null);
v = mInflater.inflate(R.layout.ip4, null);
v = mInflater.inflate(R.layout.ip4s, null);
}
이 부분을 이렇게 하면
레이아웃을 ip3g와 ip4s 레이아웃만 대려오네요..
레이아웃 2개 이상 쓰려는데 어떻게 해야되나요...
완전 초보라서 ㅠㅠ 검색을 해봐도 모르겠어서요..
방법좀 알려주세요 ㅜ




Java 책 먼저 공부하시는 것이 좋을 듯합니다.
같은 변수에 3번 대입하면 마지막 것만 남는 것을 모르시네요.