android tab切换菜单内容分页,8月23号 Tab菜单页面切换和jsp分页查询
android ViewPager实现App主界面Tab菜单页面切换和点击事件
首先需要创建3个.xml文件,简单设置背景和一些简单组件,tab1.xml,tab2.xml,tab3.xml
之后是对activity_main.xml的设置
《?xml version="1.0" encoding="utf-8"?》
《LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#EEEEEE"
android:orientation="vertical" 》
《LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical" 》
《android.support.v4.view.ViewPager
android:id="@+id/viewpage"
android:layout_width="match_parent"
android:layout_height="fill_parent" /》
《/LinearLayout》
《LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="40.0dip"
android:background="#EEEEEE" 》
《!--设置最下端的标题提示 --》
《TextView
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:gravity="center"
android:text="标题1"
android:textColor="#000000"
android:textSize="18.0dip" /》
《TextView
android:id="@+id/text2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:gravity="center"
android:text="标题2"
android:textColor="#000000"
android:textSize="18.0dip" /》
《TextView
android:id="@+id/text3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:gravity="center"
android:text="标题3"
android:textColor="#000000"
android:textSize="18.0dip" /》
《/LinearLayout》
《/LinearLayout》
最关键的activity_main.java的设置:
public class MainActivity extends Activity implements
OnClickListener {
Context context = null;
ViewPager pager = null;
TextView t1, t2, t3;
View view1, view2, view3;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context = MainActivity.this;
initTextView();
initPagerViewer();
}
private void initTextView()
{
t1 = (TextView) findViewById(R.id.text1);
t2 = (TextView) findViewById(R.id.text2);
t3 = (TextView) findViewById(R.id.text3);
t1.setOnClickListener(this);
t2.setOnClickListener(this);
t3.setOnClickListener(this);
}
private void
initPagerViewer() {
pager = (ViewPager) findViewById(R.id.viewpage);
LayoutInflater li = LayoutInflater.from(this);
final ArrayList《View》 list = new ArrayList《View》();
view1 = li.inflate(R.layout.tab1, null);
view2 = li.inflate(R.layout.tab2, null);
view3 = li.inflate(R.layout.tab3, null);
list.add(view1);
list.add(view2);
list.add(view3);
pager.setAdapter(new MyPagerAdapter(list));
pager.setCurrentItem(0);
pager.setOnPageChangeListener(new MyOnPageChangeListener());
}
public class MyPagerAdapter
extends PagerAdapter {
List《View》 list = new ArrayList《View》();
public MyPagerAdapter(ArrayList《View》 list) {
this.list = list;
}
@Override
public void destroyItem(ViewGroup container, int position,
Object object) {// 销毁view
ViewPager pViewPager = ((ViewPager) container);
pViewPager.removeView(list.get(position));
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object instantiateItem(View arg0, int arg1) { //
初始化Item
// 通过位置arg1拿到view
ViewPager pViewPager = ((ViewPager) arg0);
pViewPager.addView(list.get(arg1));
return list.get(arg1);
}
}
public class MyOnPageChangeListener implements
OnPageChangeListener {
@Override
public void onPageSelected(int arg0) {//通过view 的位置来更改按钮的text
resert();
int currentItems = pager.getCurrentItem();
switch (currentItems) {
case 0:t1.setText("选中");break;
case 1:t2.setText("选中");break;
case 2:t3.setText("选中");break;
default:break;}}
@Override
public void onPageScrollStateChanged(int arg0) {}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2)
{}}
@Override
public void onClick(View v) {
resert();
// TODO Auto-generated method stub
switch (v.getId()) {case
R.id.text1:
pager.setCurrentItem(0);t1.setText("选中");break;
case R.id.text2:pager.setCurrentItem(1);t2.setText("选中");break;
case R.id.text3:pager.setCurrentItem(2);t3.setText("选中");break;}}
//初始化按钮的选中情况
public void resert()
{t1.setText("标题1");t2.setText("标题2");t3.setText("标题3");}}
分页查询的实现:
创建一个user类,包括3个属性,创建简单的连接数据库的类。创建接口userMag,并通过userMagImpl实现:
public List getUser (String s){
Connection ct = null;
Statement sm = null;
ResultSet rs = null;
List users = new ArrayList();
try{ct = DBOperator.getConnection();
sm =
ct.createStatement();
int pageNow = 1;
if (s != null) {
pageNow =
Integer.parseInt(s);
}
int pageSize = 3;//每页显示几条记录
rs = sm.executeQuery("select *
from user limit "+ ((pageNow -
1) * pageSize) +","+pageSize+"");
while (rs.next()) {
User u =
new User();
u.setUserid(rs.getString(1));
u.setPassword(rs.getString(2));
u.setUsername(rs.getString(3));
users.add(u);
}
}catch(Exception
ex){
ex.printStackTrace();
}finally{
DBOperator.close(rs, sm, ct);}
return users;
}
@Override
public int getPage(String s) {
Connection ct = null;
Statement sm = null;
ResultSet rs = null;
//查询总页数
int pageCount = 0;//当前为第几页
int pageSize = 3;//每页显示几条记录
int rowCount = 0;//总共有多少条记录
try{ct =
DBOperator.getConnection();
sm =
ct.createStatement();
rs = sm.executeQuery("select
count(*) from user");
if (rs.next()) {
rowCount = rs.getInt(1);
if (rowCount % pageSize == 0) {
pageCount =
rowCount / pageSize;
} else {
pageCount =
rowCount / pageSize + 1;}}}catch(Exception
ex)
{ex.printStackTrace();
}finally
{DBOperator.close(rs, sm,
ct);}
return pageCount;}
关于jsp页面的设置:
其中的TransServlet是为了实现跳转的功能:
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
String id = request.getParameter("transpage");
if(id != null)
{
request.getRequestDispatcher("/index.jsp?pageNow="+id).forward(request,
response);
}
}
android tab切换菜单内容分页,8月23号 Tab菜单页面切换和jsp分页查询相关推荐
- 绝地求生6月23号服务器维护到几点,绝地求生6月23号更新内容汇总 维护公告信息一览...
绝地求生6月23号更新内容汇总,这一次的更新要等到什么时候,具体更新了哪些跟玩家有关的内容,想必很多玩家心里都有这样的疑问吧,而游戏这一次,还真的更新了你们期待已久的陈死狗cnh的定制皮肤,所以更新之 ...
- fgo1月23号服务器维护,FGO1月23号更新一览 1月23号更新内容详解
fgo国服ipad版v1.8.5 [bilibili官方版] 类型:ios卡牌战棋大小:307M语言:中文 评分:10.0 标签: 立即下载 FGO1月23号更新一览,这次更新之后大家期待已久的梅林就 ...
- 2017年6月23号课堂笔记
2017年6月23号 星期五 暴雨转阵雨 空气质量:良 内容: 01jQuery-Validate验证插件的使用:02bootstrap小例子: 03引用charisma代码小例子 一.jQuery- ...
- Java随笔(2017年10月23号~2018年4月7号)
2017年10月23号 1.java:94年改名,95年推出 2.java特性:安全性.可移植性和平台无关性 3.java(jdk)中的bin目录中的.exe结尾的都是运行程序存放可执行文件: lib ...
- 2006年5月23号 12点
2006年5月23号 12点 我做了个决定,决定从今天开始每天晚上23点搞网页设计,因为跟同学接了个业务做网站,自己水平不高,同学还可以,但有点懒-_-哈哈 昨天就我们专业同学还有老师开了 ...
- 2月23号的《艾薇儿广州演唱会》
和Music Club一起去体验音乐现场 - 演唱会 Registration Deadline 2/18/2014 Activity Description HSC Music Club诚意邀请众音 ...
- 绝地求生6月23号服务器维护到几点,绝地求生6月23日更新到几点 绝地求生6月23日更新内容介绍...
绝地求生6月23日更新到几点?绝地求生每周三都会进行更新,停服更新所需时间一般为5小时,不停服更新则无需等待.那么,明天的更新会在什么时候结束呢?下面就是绝地求生6月23日更新内容介绍了,一起来看看吧 ...
- 【下拉菜单】随前一个下拉菜单内容变化而变化的下拉菜单
<body><form id="form1" runat="server" method="post"><!- ...
- html怎么做动态切换效果,使用CSS制作一个比较炫酷的页面切换动画
今天我们想与大家分享一组创意的页面切换熊效果集合.我们已经在示例中罗列了一组动画,可以被应用到页面切换过程中,创造出很有趣的导航效果.虽然有些效果都非常简单,只是简单的滑动动作,但另外的一些则是利用了 ...
最新文章
- 微信小程序的tab选项卡的实现
- 设置Linux网络的方法
- TOJ5398: 签到大富翁(简单模拟) and TOJ 5395: 大于中值的边界元素(数组的应用)...
- Linux--文件结构体struct file
- 面试官 | 讲一下如何给高并发系统做限流?
- Esp8266物联网开发板详细使用教程
- python基础分析_python基础--函数全解析(1)
- python中面向对象的ui_怎样理解Python中的面向对象?
- php input 只接收文件内容,一文搞懂$_POST和file_get_contents(“php://input”)的区别
- java调用数据库存储过程的接口是_JAVA调用数据库存储过程
- 12个有趣的HTML5实例(转)
- 【下载】无线电杂志上下册合集2006-2011
- Vbs脚本编程简明教程
- 三维马氏距离_马氏距离2
- 运用Python——劳拉下棋_四连环游戏_重力四子棋游戏(代码与游戏判定)
- 剑指 Offer 42. 连续子数组的最大和java
- Dynamics AX 2009 Trainning
- python能做些什么事_一起来看看Python能干什么?使用Python能做哪些事
- 悟空CRM9从零开始搭建详细步骤——肯定成功
- 达梦数据库导入dmp文件
热门文章
- 验票证明怎么打印_OFD电子发票如何查验、打开、打印?如何电子归档?
- 使用IO流对文件进行编写功能
- 【历史】- 一段关于 Unix、Linux 和 Windows 的暗黑史
- 【电子科学系保研】-- 南方科技大学保研之旅
- 0301 、Web服务器简介、虚拟Web主机、NFS服务基础、触发挂载
- ActiveSync 3.7
- 会声会影2022正式版一键式视频剪辑软件
- 简述CMM与CMMI的关系
- android自动清理内存不足,安卓手机内存不足怎么清理?手机内存不足清理方法...
- InfoQ网站作者的文章列表文章详情获取-Java网络爬虫系统性学习与实战系列(13)