新人,在listview中加载的spinner,spinner内容怎么保存? 目前页面显示没有问题,当前页面选择spinner也可以正常显示不过只要滑动页面就会让spinner的数据重置,这个问题需要怎么来处理?希望能给出相应的处理方法代码或者思考方向,感谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class AssessLVAdapter extends BaseAdapter { private Context context; private List<Map<String, Object>> list; public AssessLVAdapter(Context context, List<Map<String, Object>> list) { this.context = context; this.list = list; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(final int position, View convertView, ViewGroup parent) { convertView = LayoutInflater.from(context).inflate( R.layout.assess_item, null); tv_assess_item = (TextView) convertView .findViewById(R.id.tv_assess_item); sp_assess_item = (Spinner) convertView .findViewById(R.id.sp_assess_item); tv_assess_item.setText((String) list.get(position).get("project")); ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>( context, android.R.layout.simple_spinner_item, list_str.get(position)); spinnerAdapter .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); sp_assess_item.setAdapter(spinnerAdapter); sp_assess_item .setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { } @Override public void onNothingSelected(AdapterView<?> parent) { } }); return convertView; } }我的adapter代码是这样的 public class AssessLVAdapter extends BaseAdapter { private Context context; private List<Map<String, Object>> list; private Map<Integer,Integer> map = new HashMap<Integer,Integer>(); public AssessLVAdapter(Context context, List<Map<String, Object>> list) { this.context = context; this.list = list; for(int i = 0 ; i < list.size();i++) { map.put(i,0); // } } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(final int position1, View convertView, ViewGroup parent) { convertView = LayoutInflater.from(context).inflate( R.layout.assess_item, null); tv_assess_item = (TextView) convertView .findViewById(R.id.tv_assess_item); sp_assess_item = (Spinner) convertView .findViewById(R.id.sp_assess_item); tv_assess_item.setText((String) list.get(position).get("project")); ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>( context, android.R.layout.simple_spinner_item, list_str.get(position)); spinnerAdapter .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); sp_assess_item.setAdapter(spinnerAdapter); sp_assess_item .setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { map.put(position1,position); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); return convertView; } }sp_assess_item.setSelection(map.get(position1)); 我在BaseAdapter中放spinner有这个android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application错误 怎么你怎么解决的。 android下载中文名文件失败,求指点 关于图片和对象内存释放的问题 android面试 android 软键盘 设置输入法按键 屏蔽 动态取数组的问题 onKeyDown事件中转换键值的问题 Android开发 TextView 改变字体大小的时候让粗细不变 关于非UI线程更新UI遇到的一些问题 java如何获取网页源码JavaScript里面的内容 三星Galaxy S5调用系统音乐播放器出错 自定义一个控件,真机运行没错,模拟器报错,何解? 主activity调用默认浏览器怎么实现
private Context context;
private List<Map<String, Object>> list; public AssessLVAdapter(Context context, List<Map<String, Object>> list) {
this.context = context;
this.list = list; } @Override
public int getCount() {
return list.size();
} @Override
public Object getItem(int position) {
return list.get(position);
} @Override
public long getItemId(int position) {
return position;
} @Override
public View getView(final int position, View convertView,
ViewGroup parent) {
convertView = LayoutInflater.from(context).inflate(
R.layout.assess_item, null);
tv_assess_item = (TextView) convertView
.findViewById(R.id.tv_assess_item);
sp_assess_item = (Spinner) convertView
.findViewById(R.id.sp_assess_item);
tv_assess_item.setText((String) list.get(position).get("project"));
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(
context, android.R.layout.simple_spinner_item,
list_str.get(position)); spinnerAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); sp_assess_item.setAdapter(spinnerAdapter);
sp_assess_item
.setOnItemSelectedListener(new OnItemSelectedListener() { @Override
public void onItemSelected(AdapterView<?> parent,
View view, int position, long id) {
} @Override
public void onNothingSelected(AdapterView<?> parent) { }
});
return convertView;
}
}我的adapter代码是这样的
public class AssessLVAdapter extends BaseAdapter {
private Context context;
private List<Map<String, Object>> list;
private Map<Integer,Integer> map = new HashMap<Integer,Integer>(); public AssessLVAdapter(Context context, List<Map<String, Object>> list) {
this.context = context;
this.list = list;
for(int i = 0 ; i < list.size();i++) {
map.put(i,0); //
} } @Override
public int getCount() {
return list.size();
} @Override
public Object getItem(int position) {
return list.get(position);
} @Override
public long getItemId(int position) {
return position;
} @Override
public View getView(final int position1, View convertView,
ViewGroup parent) {
convertView = LayoutInflater.from(context).inflate(
R.layout.assess_item, null);
tv_assess_item = (TextView) convertView
.findViewById(R.id.tv_assess_item);
sp_assess_item = (Spinner) convertView
.findViewById(R.id.sp_assess_item);
tv_assess_item.setText((String) list.get(position).get("project"));
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(
context, android.R.layout.simple_spinner_item,
list_str.get(position)); spinnerAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); sp_assess_item.setAdapter(spinnerAdapter);
sp_assess_item
.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int position, long id) {
map.put(position1,position);
} @Override
public void onNothingSelected(AdapterView<?> parent) { }
});
return convertView;
}
}
sp_assess_item.setSelection(map.get(position1));