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页面的设置:

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

​其中的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);

}

}

​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值