我的Spinner里面有北京和上海等地,然后我想通过事件后切换不同的listview,但是没有成功,为什么,我把两地的图片放在两个数组里了,其他的东西都是静态的。package com.Film;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.Toast;public class MainPageActivity extends Activity {
/** Called when the activity is first created. */
private int pic[] = new int[] { R.drawable.meijia,
R.drawable.shoududianyingyuan, R.drawable.ume };
private int picShanghai[] = new int[] { R.drawable.jinyiyingcheng,
R.drawable.longzhimeng, R.drawable.shanghaidaguangming,
R.drawable.shanghaiguojinbailigong, R.drawable.xingmeiguoji }; private ListView datalist = null;
private List<Map<String, String>> list = new ArrayList<Map<String, String>>();
private SimpleAdapter simpleAdapter = null;
// ////////////////////////////
private List<String> listAddress = new ArrayList<String>();
private String address = "北京";
private Spinner mySpinner;
private ArrayAdapter<String> adapter; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
datalist = (ListView) findViewById(R.id.listdata);
// 第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项
listAddress.add("北京");
listAddress.add("上海");
listAddress.add("深圳");
listAddress.add("南京");
listAddress.add("重庆"); mySpinner = (Spinner) findViewById(R.id.spinner_City); // 第二步:为下拉列表定义一个适配器,这里就用到里前面定义的list。
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, listAddress); // 第三步:为适配器设置下拉列表下拉时的菜单样式。
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // 第四步:将适配器添加到下拉列表上
mySpinner.setAdapter(adapter);
// 第五步:为下拉列表设置各种事件的响应,这个事响应菜单被选中
mySpinner
.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() { public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
// 将所选mySpinner 的值带入myTextView 中
// 将mySpinner 显示
address = adapter.getItem(arg2);
Toast.makeText(MainPageActivity.this,
"您选择的是:" + address, 1000).show(); arg1.setVisibility(View.VISIBLE); } public void onNothingSelected(AdapterView<?> arg0) { arg0.setVisibility(View.VISIBLE);
}
}); // 下拉菜单弹出的内容选项触屏事件处理
/*
 * mySpinner.setOnTouchListener(new Spinner.OnTouchListener() { public
 * boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated
 * method stub // 将mySpinner 隐藏,不隐藏也可以,看自己爱好
 * v.setVisibility(View.INVISIBLE); return false; } });
 */
// 下拉菜单弹出的内容选项焦点改变事件处理
mySpinner.setOnFocusChangeListener(new Spinner.OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
v.setVisibility(View.VISIBLE);
}
});
// /////////////////////////////
addTheater(address); } // /根据地方动态显示影院列表
public void addTheater(String choiceAddress) {
list.clear();
if(choiceAddress.equals("上海")) {
for (int i = 0; i < picShanghai.length; i++) {
Map<String, String> map = new HashMap<String, String>();
map.put("pic", String.valueOf(picShanghai[i]));
map.put("title", "上海电影院");
map.put("goods", "好评数");
map.put("goods_counts", "10");
map.put("starts", "星级");
map.put("starts_pic", "星级图片");
map.put("bads", "坏评数");
map.put("bads_counts", "10");
map.put("juli", "距离");
map.put("juli_counts", "2.3公里");
this.list.add(map);
}
}
else if(choiceAddress.equals("北京")) {
for (int i = 0; i < pic.length; i++) {
Map<String, String> map = new HashMap<String, String>();
map.put("pic", String.valueOf(pic[i]));
map.put("title", "万达电影院");
map.put("goods", "好评数");
map.put("goods_counts", "10");
map.put("starts", "星级");
map.put("starts_pic", "星级图片");
map.put("bads", "坏评数");
map.put("bads_counts", "10");
map.put("juli", "距离");
map.put("juli_counts", "2.3公里");
this.list.add(map);
}
}

this.simpleAdapter = new SimpleAdapter(this, this.list, R.layout.list,
new String[] { "pic", "title", "goods", "goods_counts",
"starts", "start_pic", "bads", "bads_counts", "juli",
"juli_counts" }, new int[] { R.id.pic, R.id.title,
R.id.goods, R.id.goods_counts, R.id.starts,
R.id.starts_pic, R.id.bads, R.id.bads_counts,
R.id.juli, R.id.juli_counts });
this.datalist.setAdapter(this.simpleAdapter);
datalist.setOnItemClickListener(new OnItemClickListener() { @Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
HashMap<String, String> map = (HashMap<String, String>) datalist
.getItemAtPosition(arg2);
Intent intent = new Intent(MainPageActivity.this,
TheaterActivity.class);
startActivityForResult(intent, 0); } });
}}