課程
/移動開發
/Android
/Android攻城獅的第二門課(第1季)
我在設置了監聽器以后再滑動頁卡,App會崩潰掉,程序也沒有報錯,這是為什么?
2016-08-22
源自:Android攻城獅的第二門課(第1季) 10-5
正在回答
加載監聽器錯了pager.addOnPageChangeListener(this);不是這個,而是pager.setOnPageChangeListener(this);
Ma峰 提問者
這是錯誤,我也不會看,看不懂
package com.example.myapplication;import android.graphics.Color;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentActivity;import android.support.v4.view.PagerTabStrip;import android.support.v4.view.ViewPager;import android.os.Bundle;import android.view.View;import android.widget.Toast;import java.util.ArrayList;import java.util.List;public class MainActivity extends FragmentActivity implements ViewPager.OnPageChangeListener { ? ?private List<View> viewList; ? ?private ViewPager pager; ? ?private List<String> titleList; ? ?private PagerTabStrip tabStrip; ? ?private List<Fragment>fragmentList; ? ?@Override ? ?protected void onCreate(Bundle savedInstanceState) { ? ? ? ?super.onCreate(savedInstanceState); ? ? ? ?setContentView(R.layout.activity_main); ? ? ? ?//初始化 ? ? ? ?viewList =new ArrayList<>(); ? ? ? ?titleList =new ArrayList<>(); ? ? ? ?fragmentList =new ArrayList<>(); ? ? ? ?//加載Fragment ? ? ? ?fragmentList.add(new MyFragment1()); ? ? ? ?fragmentList.add(new MyFragment2()); ? ? ? ?fragmentList.add(new MyFragment3()); ? ? ? ?fragmentList.add(new MyFragment4()); ? ? ? ?//為頁卡加載標題 ? ? ? ?titleList.add("第一頁"); ? ? ? ?titleList.add("第二頁"); ? ? ? ?titleList.add("第三頁"); ? ? ? ?titleList.add("第四頁"); ? ? ? ?tabStrip= (PagerTabStrip) findViewById(R.id.tab); ? ? ? ?//設置標題屬性 ? ? ? ?tabStrip.setBackgroundColor(Color.BLACK); ? ? ? ?tabStrip.setTextColor(Color.WHITE); ? ? ? ?tabStrip.setDrawFullUnderline(false); ? ? ? ?tabStrip.setTabIndicatorColor(Color.RED); ? ? ? ?pager= (ViewPager) findViewById(R.id.pager); ? ? ? ?//加載頁卡 ? ? ? ?View view1=View.inflate(this,R.layout.view1,null); ? ? ? ?View view2=View.inflate(this,R.layout.view2,null); ? ? ? ?View view3=View.inflate(this,R.layout.view3,null); ? ? ? ?View view4=View.inflate(this,R.layout.view4,null); ? ? ? ?viewList.add(view1); ? ? ? ?viewList.add(view2); ? ? ? ?viewList.add(view3); ? ? ? ?viewList.add(view4); ? ? ? ?//設置適配器 ? ? ? ?MyPagerAdapter pagerAdapter =new MyPagerAdapter(viewList,titleList); ? ? ? ?MyFragmentPagerAdapter pagerAdapter1 =new MyFragmentPagerAdapter(getSupportFragmentManager(),fragmentList,titleList); ? ? ? ?//加載適配器 ? ? ? ?//pager.setAdapter(pagerAdapter); ? ? ? ?pager.setAdapter(pagerAdapter1); ? ? ? ?//加載監聽器 ? ? ? ?pager.addOnPageChangeListener(this); ? ?} ? ?@Override ? ?public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { ? ?} ? ?@Override ? ?public void onPageSelected(int position) { ? ? ? ?Toast.makeText(this,position,Toast.LENGTH_SHORT).show(); ? ?} ? ?@Override ? ?public void onPageScrollStateChanged(int state) { ? ?}}
代碼和崩潰異常貼出來
舉報
本課程由淺入深地帶您學會Android的常用控件的開發和使用
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-02-19
加載監聽器錯了pager.addOnPageChangeListener(this);不是這個,而是pager.setOnPageChangeListener(this);
2016-08-22
2016-08-22
package com.example.myapplication;
import android.graphics.Color;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.ViewPager;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends FragmentActivity implements ViewPager.OnPageChangeListener {
? ?private List<View> viewList;
? ?private ViewPager pager;
? ?private List<String> titleList;
? ?private PagerTabStrip tabStrip;
? ?private List<Fragment>fragmentList;
? ?@Override
? ?protected void onCreate(Bundle savedInstanceState) {
? ? ? ?super.onCreate(savedInstanceState);
? ? ? ?setContentView(R.layout.activity_main);
? ? ? ?//初始化
? ? ? ?viewList =new ArrayList<>();
? ? ? ?titleList =new ArrayList<>();
? ? ? ?fragmentList =new ArrayList<>();
? ? ? ?//加載Fragment
? ? ? ?fragmentList.add(new MyFragment1());
? ? ? ?fragmentList.add(new MyFragment2());
? ? ? ?fragmentList.add(new MyFragment3());
? ? ? ?fragmentList.add(new MyFragment4());
? ? ? ?//為頁卡加載標題
? ? ? ?titleList.add("第一頁");
? ? ? ?titleList.add("第二頁");
? ? ? ?titleList.add("第三頁");
? ? ? ?titleList.add("第四頁");
? ? ? ?tabStrip= (PagerTabStrip) findViewById(R.id.tab);
? ? ? ?//設置標題屬性
? ? ? ?tabStrip.setBackgroundColor(Color.BLACK);
? ? ? ?tabStrip.setTextColor(Color.WHITE);
? ? ? ?tabStrip.setDrawFullUnderline(false);
? ? ? ?tabStrip.setTabIndicatorColor(Color.RED);
? ? ? ?pager= (ViewPager) findViewById(R.id.pager);
? ? ? ?//加載頁卡
? ? ? ?View view1=View.inflate(this,R.layout.view1,null);
? ? ? ?View view2=View.inflate(this,R.layout.view2,null);
? ? ? ?View view3=View.inflate(this,R.layout.view3,null);
? ? ? ?View view4=View.inflate(this,R.layout.view4,null);
? ? ? ?viewList.add(view1);
? ? ? ?viewList.add(view2);
? ? ? ?viewList.add(view3);
? ? ? ?viewList.add(view4);
? ? ? ?//設置適配器
? ? ? ?MyPagerAdapter pagerAdapter =new MyPagerAdapter(viewList,titleList);
? ? ? ?MyFragmentPagerAdapter pagerAdapter1 =new MyFragmentPagerAdapter(getSupportFragmentManager(),fragmentList,titleList);
? ? ? ?//加載適配器
? ? ? ?//pager.setAdapter(pagerAdapter);
? ? ? ?pager.setAdapter(pagerAdapter1);
? ? ? ?//加載監聽器
? ? ? ?pager.addOnPageChangeListener(this);
? ?}
? ?@Override
? ?public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
? ?}
? ?@Override
? ?public void onPageSelected(int position) {
? ? ? ?Toast.makeText(this,position,Toast.LENGTH_SHORT).show();
? ?}
? ?@Override
? ?public void onPageScrollStateChanged(int state) {
? ?}
}
2016-08-22
代碼和崩潰異常貼出來