博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
指尖上的Android之实战篇(五)
阅读量:4213 次
发布时间:2019-05-26

本文共 4613 字,大约阅读时间需要 15 分钟。

这个先说点废话,我个人看博客的习惯是,不喜欢代码太长的博客,太长看不完,下次再看不知道从那开始了(哦,记性比较差,哭),所以一般是一篇里面放两个比较大的类

接上一篇中的用户登录

先说下:

服务器端返回的JSON数据格式如下:

user  : tomcat  password-->tomcat

登录成功会进入系统的主界面,通过该界面提供的ListView进入各个功能模块

 

1. 主界面布局文件:main.xml

 

2. 主界面对应的Activity:Main.java

package com.infy.auction.client;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.infy.auction.client.util.ImageAdapter;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.Window;import android.widget.AdapterView;import android.widget.ListView;import android.widget.AdapterView.OnItemClickListener;public class Main extends Activity {	@Override	protected void onCreate(Bundle savedInstanceState) {		// TODO Auto-generated method stub		ListView mainMenu;		super.onCreate(savedInstanceState);		this.requestWindowFeature(Window.FEATURE_NO_TITLE);		setContentView(R.layout.main);		List
> datas = this.getDatas(); ImageAdapter adapter = new ImageAdapter(this, datas); mainMenu = (ListView) findViewById(R.id.mainMenu); mainMenu.setAdapter(adapter); // 为ListView的各列表项的单击事件绑定事件监听器 mainMenu.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView
parent, View view, int position, long id) { // TODO Auto-generated method stub Intent intent = null; switch (position) { // 查看竟得物品 case 0: // 启动ViewItem Activity // intent.setClass(Main.this,ViewItem.class); // action属性为请求的Servlet地址 intent.putExtra("action", "viewSucc"); startActivity(intent); break; // 查看流拍物品 case 1: // 启动ViewItem的Activity intent = new Intent(Main.this, ViewItem.class); intent.putExtra("action", "ViewFailServlet"); startActivity(intent); break; // 管理物品种类 case 2: // 启动ViewKind的Activity intent = new Intent(Main.this, ManageKind.class); intent.putExtra("action", "ViewKindServlet"); startActivity(intent); break; // 管理物品 case 3: // 启动ManageItem的Activity intent = new Intent(Main.this, ManageItem.class); startActivity(intent); break; } } }); } public List
> getDatas() { List
> results = new ArrayList
>(); String[] items = this.getResources().getStringArray(R.array.menu); for (int i = 0; i < items.length; i++) { Map
item = new HashMap
(); item.put("left", R.drawable.item_left); item.put("text", items[i]); item.put("right", R.drawable.item_right); results.add(item); } return results; }}

3.这里用到了一个封装ListView的Adapter:ImageAdapter.java

package com.infy.auction.client.util;import java.util.List;import java.util.Map;import com.infy.auction.client.R;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;public class ImageAdapter extends BaseAdapter{	private List
> datas; private Context context; public ImageAdapter( Context context,List
> datas) { this.context = context; this.datas = datas; } @Override public int getCount() { // TODO Auto-generated method stub return this.datas.size(); } @Override public Object getItem(int arg0) { // TODO Auto-generated method stub return this.datas.get(arg0); } @Override public long getItemId(int arg0) { // TODO Auto-generated method stub return arg0; } @Override public View getView(int postion, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ViewHolder holder = null; if(convertView == null){ holder = new ViewHolder(); convertView =LayoutInflater.from(context).inflate(R.layout.list_item, null); //得到条目中的子组件 holder.itemLeftImage = (ImageView)convertView.findViewById(R.id.item_left); holder.itemText = (TextView)convertView.findViewById(R.id.item_text); holder.itemRithtImage = (ImageView)convertView.findViewById(R.id.item_right); //使用setTag把查找的View缓存起来,方便多次重用 convertView.setTag(holder); }else{ holder = (ViewHolder)convertView.getTag(); } Map
item = this.datas.get(postion); //从List对象中为子组件赋值 holder.itemLeftImage.setImageResource(Integer.parseInt(item.get("left").toString())); holder.itemText.setText(item.get("text").toString()); holder.itemRithtImage.setImageResource(Integer.parseInt(item.get("right").toString())); return convertView; } static class ViewHolder{ ImageView itemLeftImage; TextView itemText; ImageView itemRithtImage; }}

最后给出主界面的效果图。

 

童鞋们,礼拜天快乐,未完待续。。。。。再见

你可能感兴趣的文章
linux 9 -文件系统的压缩与打包 -dump
查看>>
PHP在变量前面加&是什么意思?
查看>>
ebay api - GetUserDisputes 函数
查看>>
ebay api GetMyMessages 函数
查看>>
php加速器 - zendopcache
查看>>
手动12 - 安装php加速器 Zend OPcache
查看>>
set theme -yii2
查看>>
yii2 - 模块(modules)的view 映射到theme里面
查看>>
yii2 - controller
查看>>
yii2 - 增加actions
查看>>
php图像处理函数大全(缩放、剪裁、缩放、翻转、旋转、透明、锐化的实例总结)
查看>>
magento url中 uenc 一坨编码 base64
查看>>
强大的jQuery焦点图无缝滚动走马灯特效插件cxScroll
查看>>
Yii2.0 数据库查询
查看>>
yii2 db 操作
查看>>
mongodb group 有条件的过滤组合个数。
查看>>
关于mongodb的 数组分组 array group
查看>>
MongoDB新的数据统计框架介绍
查看>>
mongodb 增加全文检索索引
查看>>
symfony
查看>>