2017-10-02 14 views
1

하나의 ViewPager에 3 개의 페이지가 있으며 Page1에 버튼을 만듭니다. 버튼을 클릭하면 다른 활동으로 이동할 수 있습니다.ViewPager에서 Button.setOnClickListener를 작성하는 방법

ViewPager에서 Button setOnClickListener를 사용하고 싶습니다. 내 앱을 실행할 수는 있지만 버튼이 작동하지 않습니다.

여기는 ViewPager 활동 파일입니다. 여기

public class ScheduleActivity extends AppCompatActivity { 

private View view1, view2, view3; 
private List<View> viewList; 
private ViewPager viewPager; 

private List<String> titleList; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_schedule); 
    viewPager = (ViewPager) findViewById(R.id.viewpager); 
    PagerTitleStrip pagerTitleStrip = (PagerTitleStrip) findViewById(R.id.pager_title); 

    pagerTitleStrip.setTextSize(TypedValue.COMPLEX_UNIT_PX,70); 

    pagerTitleStrip.setTextColor(Color.WHITE); 

    pagerTitleStrip.setBackgroundColor(Color.BLUE); 

    pagerTitleStrip.setGravity(17); 

    pagerTitleStrip.getChildAt(0).setVisibility(View.GONE); 
    pagerTitleStrip.getChildAt(2).setVisibility(View.GONE); 

    LayoutInflater inflater = getLayoutInflater(); 
    view1 = inflater.inflate(R.layout.activity_day__schedule, null); 
    view2 = inflater.inflate(R.layout.activity_week__schedule, null); 
    view3 = inflater.inflate(R.layout.activity_missing__date, null); 

    viewList = new ArrayList<View>(); 
    viewList.add(view1); 
    viewList.add(view2); 
    viewList.add(view3); 

    titleList = new ArrayList<String>(); 
    titleList.add("Page1"); 
    titleList.add("Page2"); 
    titleList.add("Page3"); 

    PagerAdapter pagerAdapter = new PagerAdapter() { 

     @Override 
     public boolean isViewFromObject(View arg0, Object arg1) { 
      // TODO Auto-generated method stub 
      return arg0 == viewList.get((int) 
     Integer.parseInt(arg1.toString())); 
     } 

     @Override 
     public int getCount() { 
      // TODO Auto-generated method stub 
      return viewList.size(); 
     } 

     @Override 
     public void destroyItem(ViewGroup container, int position, 
           Object object) { 
      // TODO Auto-generated method stub 
      container.removeView(viewList.get(position)); 
     } 

     @Override 
     public Object instantiateItem(ViewGroup container, int position) { 
      // TODO Auto-generated method stub 
      container.addView(viewList.get(position)); 

      return position; 
     } 

     @Override 
     public CharSequence getPageTitle(int position) { 
      // TODO Auto-generated method stub 
      return titleList.get(position); 
     } 

    }; 

    viewPager.setAdapter(pagerAdapter); 

} 

그리고는 ... 버튼 OnClickListener를 파일입니다

public class Day_Schedule extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_day__schedule); 
    Button more_button = (Button) findViewById(R.id.more_button); 
    more_button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intent = new Intent(Day_Schedule.this, 
    MaintainActivity.class); 
      startActivity(intent); 
     } 
    }); 
    } 

} 

나는이 파일에 무엇을 할 수 있습니까? 어떻게 수정합니까?

답변

0
당신이보기 호출기 어댑터보기 및 클래스 코드 내부의 버튼 리스너를 설정해야

https://github.com/android10/Android-CleanArchitecture

+0

가 대단히 감사합니다 더 읽을 수 있도록 코드를 구성하려고! 시도해 볼게! –