城市列表的实现
2016-07-28 19:01
225 查看
package com.bwei.city;
import java.util.ArrayList;
import java.util.List;
import android.R.bool;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnItemClickListener {
String[] letter = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K",
"L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X",
"Y", "Z" };
String[] city = { "C", "B", "H", "G", "W", "C", "S", "S", "C", "W", "H",
"Z", "C", "D", "N", "L", "Q", "S", "S", "L", "N", "H", "X", "H",
"S", "Z", "G", "N", "J", "T", "S", "X", "A" };
String[] cityName = { "长沙", "北京", "杭州", "广州", "武汉", "重庆", "上海", "深圳", "长春",
"乌鲁木齐", "哈尔滨", "郑州", "成都", "大连", "南昌", "兰州", "齐齐哈尔", "汕头", "苏州",
"拉萨", "南京", "呼和浩特", "厦门", "合肥", "沈阳", "张家界", "贵州", "宁夏", "济南",
"天津", "石家庄", "西安", "澳门" };
List<String> list = new ArrayList<String>();
private ListView left_lv;
private ListView right_lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
for (int i = 0; i < letter.length; i++) {
boolean flag = false;
for (int j = 0; j < city.length; j++) {
//s
if(letter[i].equals(city[j])){
if(!flag){
flag =true;
//���س��ж�Ӧ����ĸ s
list.add(letter[i]);
}
//���ճ���
list.add(cityName[j]);
}
}
}
left_lv = (ListView) findViewById(R.id.left_lv);
right_lv = (ListView) findViewById(R.id.right_lv);
left_lv.setAdapter(new leftAdapter());
right_lv.setAdapter(new RightAdapter());
left_lv.setOnItemClickListener(this);
right_lv.setOnItemClickListener(this);
}
class leftAdapter extends BaseAdapter {
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public int getItemViewType(int position) {
for (int i = 0; i < letter.length; i++) {
if(letter[i].equals(list.get(position))){
return 0;
}
}
return 1;
}
@Override
public int getViewTypeCount() {
return 2;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
int type = getItemViewType(position);
if(convertView==null){
switch (type) {
case 0:
convertView =View.inflate(MainActivity.this, R.layout.left_item1, null);
break;
case 1:
convertView =View.inflate(MainActivity.this, R.layout.left_item2, null);
break;
}
}
TextView left_item1_tv = (TextView) convertView.findViewById(R.id.left_item1_tv);
TextView left_item2_tv = (TextView) convertView.findViewById(R.id.left_item2_tv);
switch (type) {
case 0:
left_item1_tv.setText(list.get(position));
break;
case 1:
left_item2_tv.setText(list.get(position));
break;
}
return convertView;
}
}
class RightAdapter extends BaseAdapter {
@Override
public int getCount() {
return letter.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null){
convertView = View.inflate(MainActivity.this, R.layout.right_item, null);
}
TextView right_item_tv = (TextView) convertView.findViewById(R.id.right_item_tv);
right_item_tv.setText(letter[position]);
return convertView;
}
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
switch (parent.getId()) {
case R.id.left_lv:
boolean isLetter = false;
for (int i = 0; i < letter.length; i++) {
//���letter[i] ==list.get(position) ˵�������ڵ��������ĸ
if(letter[i].equals(list.get(position))){
isLetter = true;
break;
}
}
if(!isLetter){
Toast.makeText(MainActivity.this, list.get(position), 0).show();
}
break;
case R.id.right_lv:
for (int i = 0; i < list.size(); i++) {
if(letter[position].equals(list.get(i))){
//������������ָ����λ��
left_lv.setSelection(i);
}
}
break;
}
}
}
import java.util.ArrayList;
import java.util.List;
import android.R.bool;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnItemClickListener {
String[] letter = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K",
"L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X",
"Y", "Z" };
String[] city = { "C", "B", "H", "G", "W", "C", "S", "S", "C", "W", "H",
"Z", "C", "D", "N", "L", "Q", "S", "S", "L", "N", "H", "X", "H",
"S", "Z", "G", "N", "J", "T", "S", "X", "A" };
String[] cityName = { "长沙", "北京", "杭州", "广州", "武汉", "重庆", "上海", "深圳", "长春",
"乌鲁木齐", "哈尔滨", "郑州", "成都", "大连", "南昌", "兰州", "齐齐哈尔", "汕头", "苏州",
"拉萨", "南京", "呼和浩特", "厦门", "合肥", "沈阳", "张家界", "贵州", "宁夏", "济南",
"天津", "石家庄", "西安", "澳门" };
List<String> list = new ArrayList<String>();
private ListView left_lv;
private ListView right_lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
for (int i = 0; i < letter.length; i++) {
boolean flag = false;
for (int j = 0; j < city.length; j++) {
//s
if(letter[i].equals(city[j])){
if(!flag){
flag =true;
//���س��ж�Ӧ����ĸ s
list.add(letter[i]);
}
//���ճ���
list.add(cityName[j]);
}
}
}
left_lv = (ListView) findViewById(R.id.left_lv);
right_lv = (ListView) findViewById(R.id.right_lv);
left_lv.setAdapter(new leftAdapter());
right_lv.setAdapter(new RightAdapter());
left_lv.setOnItemClickListener(this);
right_lv.setOnItemClickListener(this);
}
class leftAdapter extends BaseAdapter {
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public int getItemViewType(int position) {
for (int i = 0; i < letter.length; i++) {
if(letter[i].equals(list.get(position))){
return 0;
}
}
return 1;
}
@Override
public int getViewTypeCount() {
return 2;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
int type = getItemViewType(position);
if(convertView==null){
switch (type) {
case 0:
convertView =View.inflate(MainActivity.this, R.layout.left_item1, null);
break;
case 1:
convertView =View.inflate(MainActivity.this, R.layout.left_item2, null);
break;
}
}
TextView left_item1_tv = (TextView) convertView.findViewById(R.id.left_item1_tv);
TextView left_item2_tv = (TextView) convertView.findViewById(R.id.left_item2_tv);
switch (type) {
case 0:
left_item1_tv.setText(list.get(position));
break;
case 1:
left_item2_tv.setText(list.get(position));
break;
}
return convertView;
}
}
class RightAdapter extends BaseAdapter {
@Override
public int getCount() {
return letter.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null){
convertView = View.inflate(MainActivity.this, R.layout.right_item, null);
}
TextView right_item_tv = (TextView) convertView.findViewById(R.id.right_item_tv);
right_item_tv.setText(letter[position]);
return convertView;
}
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
switch (parent.getId()) {
case R.id.left_lv:
boolean isLetter = false;
for (int i = 0; i < letter.length; i++) {
//���letter[i] ==list.get(position) ˵�������ڵ��������ĸ
if(letter[i].equals(list.get(position))){
isLetter = true;
break;
}
}
if(!isLetter){
Toast.makeText(MainActivity.this, list.get(position), 0).show();
}
break;
case R.id.right_lv:
for (int i = 0; i < list.size(); i++) {
if(letter[position].equals(list.get(i))){
//������������ָ����λ��
left_lv.setSelection(i);
}
}
break;
}
}
}
相关文章推荐
- 快速幂取模
- [iuud8]STL之vector
- localStorage和sessionStorage
- 十分钟理解树状数组
- webView头部加进度加载效果
- Unity-命令模式-UnDo
- http协议(六)报文首部
- POJ 3174 Alignment of the Planets
- HDU 3966 Aragorn's Story
- 函数柯里化
- C++11读书笔记—1(长期历史遗留问题,宏定义与类型)
- HDU 2222 Keywords Search (AC自动机)
- 数组中只出现一次的数字
- Oil Deposits(DFS)
- ProgressDialog简单用法,软件登录、注册时弹出Dialog
- 重写比较器遇到错误参数异常的问题
- 自定义多状态高仿应用下载百分数视图
- java反序化thrift
- C++11读书笔记—0(迟到的C++11)
- ProtoBuf安装和使用简介