마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

viewpager 구현 후 findViewById에서 nullpoint 에러 나는데 해결 책이 없네요

0 추천
public class MainActivity extends Activity implements View.OnClickListener{

   public ViewPager mPager;
    public Button login_home_email_button;
    View v1;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
setContentView(R.layout.login_main_viewpager);
mPager = (ViewPager)findViewById(R.id.pager);
        mPager.setAdapter(new PagerAdapterClass(getApplicationContext()));
setContentView(v1);
        setLayout();
    }

    private void setLayout(){
///////////////////에러!!!!!!!!!!!!!!!////

        login_home_email_button = (Button)findViewById(R.id.login_home_email_button);

//////////////널 포인트 에러!!!!!  //////////////////////
//도와주세요

        login_home_email_button.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch(v.getId()){
            case R.id.login_home_email_button:
                startActivity(new Intent(getApplicationContext(), Register_step1_activity.class));
                break;
        }

    }
    private class PagerAdapterClass extends PagerAdapter{
        private LayoutInflater mInflater;

        public PagerAdapterClass(Context c){
            super();
            mInflater= LayoutInflater.from(c);
        }

        public int getCount(){
            return 3;
        }

        public Object instantiateItem(View pager,int position){
             v1 =null;

            switch(position){
                case 0:
                    v1=mInflater.inflate(R.layout.login_home,null);
                    break;
                case 1:
                    v1=mInflater.inflate(R.layout.login_main,null);
                    break;
                case 2:
                    v1=mInflater.inflate(R.layout.feed_detail,null);
                    break;
            }

            ((ViewPager)pager).addView(v1,0);

            return v1;
        }

        public void destroyItem(View pager, int position, Object view) {
            ((ViewPager)pager).removeView((View)view);
        }

        @Override
        public boolean isViewFromObject(View view, Object o) {
            return view==o;
        }

        @Override public void restoreState(Parcelable arg0, ClassLoader arg1) {}
        @Override public Parcelable saveState() { return null; }
        @Override public void startUpdate(View arg0) {}
        @Override public void finishUpdate(View arg0) {}

    }

}
익명사용자 님이 2014년 12월 31일 질문

3개의 답변

0 추천

viewpaper 내에 사용되는 id 를 가져오려고 하시는건 아닌지 의문이 드네요?

login_main_viewpager

내부에 id 가 아래가 확실하나요?

login_home_email_button

 

aucd29 (218,390 포인트) 님이 2014년 12월 31일 답변
0 추천
onCreate에서 setContentView(V1)인데..

V1이 지정이 안되어있는데요?
노예의집 (23,370 포인트) 님이 2014년 12월 31일 답변
0 추천
onCreate 에서 setContentView(v1); 을 삭제하셔요
nicehee (73,100 포인트) 님이 2014년 12월 31일 답변
...