实现效果:
实现功能:
- ViewPager+Fragment实现加载界面
- SQLite数据获取并显示到ListView上
- ListView的item监听并携带数据跳转到其他界面
- 使用SharedPreference存储部分测试数据
实现过程:
各方法和变量的作用请详见代码注释。
listview的数据显示请见Android Studio获取SQLite数据并显示到ListView上Fragment+ViewParger实现界面加载
首先要创建两个类并继承Fragment,在viewpager中实现显示时使用。
public class RiderInfo_Fragment extends Fragment {
List
另一个类的创建过程类似。
3.创建 mainactivity.java用于设置在Viewpager中显示Fragment
public class MainActivity extends AppCompatActivity implements View.onClickListener {
private ViewPager vp;
CustomerInfo_Fragment customerInfo_fragment;
RiderInfo_Fragment riderInfo_fragment;
private List mFragmentList = new ArrayList();
FragmentAdapter mFragmentAdapter;
TextView custome, rider;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
mFragmentAdapter = new FragmentAdapter(this.getSupportFragmentManager(), mFragmentList);
vp.setOffscreenPageLimit(2);//ViewPager的缓存为2帧
vp.setAdapter(mFragmentAdapter);
vp.setCurrentItem(0);//初始设置ViewPager选中第一帧
//ViewPager的监听事件
vp.setonPageChangeListener(new ViewPager.onPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
//title.setText(titles[position]);
changeTextColor(position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
void initView() {
custome = findViewById(R.id.customer);
rider = findViewById(R.id.rider);
custome.setonClickListener(this);
rider.setonClickListener(this);
vp = (ViewPager) findViewById(R.id.mainViewPager);
customerInfo_fragment = new CustomerInfo_Fragment();
riderInfo_fragment = new RiderInfo_Fragment();
mFragmentList.add(customerInfo_fragment);
mFragmentList.add(riderInfo_fragment);
}
@Override
public void onClick(View view) { //用于判断当前为哪一个fragment
int i = view.getId();
if (i == R.id.customer) {
vp.setCurrentItem(0, true);
} else if (i == R.id.rider) {
vp.setCurrentItem(1, true);
}
}
public class FragmentAdapter extends FragmentPagerAdapter {
List fragmentList = new ArrayList();
public FragmentAdapter(android.support.v4.app.FragmentManager fm, List fragmentList) {
super(fm);
this.fragmentList = fragmentList;
}
@Override
public Fragment getItem(int position) {
return fragmentList.get(position);
}
@Override
public int getCount() {
return fragmentList.size();
}
}
该方法用于具体执行数据库数据查询
public static void getRiderHistoryInfoFromSQite(Activity activity, ListinfoList) { DBOpenHelper helper = new DBOpenHelper(activity, "qianbao.db", null, 1); SQLiteDatabase db = helper.getWritableDatabase(); Cursor c = db.query("RiderHistoryInfo", null, null, null, null, null, null); if (c != null && c.getCount() >= 1) { while (c.moveTonext()) { //moveToNext是指向表中的下一行数据 infoList.add(new Info(c.getString(c.getColumnIndex("userName")), c.getString(c.getColumnIndex("userPhone")), c.getString(c.getColumnIndex("price")), c.getString(c.getColumnIndex("address")), c.getString(c.getColumnIndex("createTime")), c.getString(c.getColumnIndex("objectId")),"")); } c.close(); db.close(); } }
实现过程中的主要代码就是这么多,实现过程比较简单仅供参考。
完整Demo下载(免费)
到此这篇关于android实现滑动标签页效果的代码解析的文章就介绍到这了,更多相关android 滑动标签页内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!



