各位大手帮忙看下为啥return mFragments.length;会报空指针

来源:互联网 发布:java有哪几种语句类型 编辑:程序博客网 时间:2024/04/29 15:38
package com.new_apps;

import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

import com.animation.settings.VerticalViewPager;
import com.example.new_apps.R;
import com.fragment.page.Fragment_firstpage;
import com.fragment.page.Fragment_secondpage;
import com.fragment.page.Fragment_thirdpage;

public class MainActivity extends FragmentActivity implements OnClickListener {

// 定义Fragment
Fragment f1 = Fragment_firstpage.newInstance();
Fragment f2 = Fragment_secondpage.newInstance();
Fragment f3 = Fragment_thirdpage.newInstance();

private VerticalViewPager viewpager;
private Button tv1, tv2, tv3;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewpager = (VerticalViewPager) findViewById(R.id.viewpager);
tv1 = (Button) findViewById(R.id.tv1);
tv2 = (Button) findViewById(R.id.tv2);
tv3 = (Button) findViewById(R.id.tv3);
tv1.setOnClickListener(this);
tv2.setOnClickListener(this);
tv3.setOnClickListener(this);
viewpager.setAdapter(new TempAdapter(getSupportFragmentManager()));// 设置viewpager适配器
viewpager.setCurrentItem(0);//默认为第一页
viewpager.setOnPageChangeListener(mOnPageChangeListener);// 设置viewpager切换监听
}

//viewpager切换监听
OnPageChangeListener mOnPageChangeListener = new OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
switchViewPager(position);//设置切换
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}

@Override
public void onPageScrollStateChanged(int arg0) {
}
};


// ViewPager适配器
private final class TempAdapter extends FragmentPagerAdapter {
private Fragment[] mFragments;

public TempAdapter(FragmentManager fm) {
super(fm);
mFragments = new Fragment[] {f1,f2,f3};// Fragment加入集合
}

@Override
public Fragment getItem(int position) {
return mFragments[position];
}

@Override
public int getCount() {
// TODO Auto-generated method stub
return mFragments.length;//

}

}

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.tv1:
switchViewPager(0);
break;
case R.id.tv2:
switchViewPager(1);
break;
case R.id.tv3:
switchViewPager(2);
break;
case R.id.tv4:
switchViewPager(3);
break;
default:
break;
}

}

// 自定义切换ViewPager
private void switchViewPager(int position) {
viewpager.setCurrentItem(position);
switch (position) {
case 0:
//tv1.setBackgroundColor(Color.parseColor("#FF3030"));
//tv2.setBackgroundColor(Color.parseColor("#48D1CC"));
break;
case 1:
//tv1.setBackgroundColor(Color.parseColor("#48D1CC"));
//tv2.setBackgroundColor(Color.parseColor("#FF3030"));
break;
case 2:
//tv1.setBackgroundColor(Color.parseColor("#48D1CC"));
//tv2.setBackgroundColor(Color.parseColor("#FF3030"));
break;
case 3:
//tv1.setBackgroundColor(Color.parseColor("#48D1CC"));
//tv2.setBackgroundColor(Color.parseColor("#FF3030"));
break;
case 4:
//tv1.setBackgroundColor(Color.parseColor("#48D1CC"));
//tv2.setBackgroundColor(Color.parseColor("#FF3030"));
break;
default:
break;
}
}
}

0 0
原创粉丝点击