当前位置: 代码迷 >> Android >> 新人,在listview中加载的spinner,spinner内容如何保存
  详细解决方案

新人,在listview中加载的spinner,spinner内容如何保存

热度:51   发布时间:2016-05-01 12:08:06.0
新人,在listview中加载的spinner,spinner内容怎么保存?
目前页面显示没有问题,当前页面选择spinner也可以正常显示

不过只要滑动页面就会让spinner的数据重置,这个问题需要怎么来处理?

希望能给出相应的处理方法代码或者思考方向,感谢!


------解决方案--------------------

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));
  相关解决方案