簡體   English   中英

如何在ViewPager中編寫Button.setOnClickListener

[英]How to write Button.setOnClickListener in ViewPager

我在一個ViewPager中有三個頁面,並在Page1上創建了一個按鈕。 當我單擊該按鈕時,我可以進行其他活動。

我想在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);
        }
    });
  }

 }

我該如何處理這些文件? 如何糾正它們?

您必須在視圖傳呼器適配器視圖中設置按鈕偵聽器,並且類代碼嘗試將代碼組織得更具可讀性https://github.com/android10/Android-CleanArchitecture

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM