安卓:我如何preserve在我arrayadapter /列表视图时变化方向的数据? [英] android: how do i preserve the data in my arrayadapter/listview when change orientation?
本文介绍了安卓:我如何preserve在我arrayadapter /列表视图时变化方向的数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
上面一样,它是自动完成?我的列表是空的,一旦方向chMYanges?与不,我需要的方向变化=)
as above, is it done automatically? My list was empty once the orientation chMYanges? and nope, i need the orientation change =)
我的适配器
public class ResultsAdapter extends ArrayAdapter<SearchItem> implements Filterable{
private ArrayList<SearchItem> subItems;
private ArrayList<SearchItem> allItems;// = new ArrayList<SearchItem>();
private LayoutInflater inflater;
private PTypeFilter filter;
private OnCheckedChangeListener test;
public ResultsAdapter(Context context, int textViewResourceId, ArrayList<SearchItem> items,OnCheckedChangeListener a) {
super(context, textViewResourceId, items);
//this.subItems = items;
for( int i = 0;i < items.size();i++){
subItems.add(items.get(i));
}
this.allItems = this.subItems;
inflater= LayoutInflater.from(context);
test = a;
}
我的onCreate
My onCreate
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView lvr = (ListView)findViewById(R.id.search_results);
// if(savedInstanceState == null){
this.m_adapter = new ResultsAdapter(home.this, R.layout.listrow, sResultsArr,home.this);
this.specsAdapter = new FeaturesExpandableAdapter(home.this,new ArrayList<String>(),new ArrayList<ArrayList<Feature>>());
// }
lvr.setAdapter(this.m_adapter);
谢谢你们
推荐答案
您也可以使用<一个href=\"http://developer.android.com/reference/android/app/Activity.html#onRetainNonConfigurationInstance\">http://developer.android.com/reference/android/app/Activity.html#onRetainNonConfigurationInstance()
像这样的事情在你的活动:
Something like this in your Activity:
@Override
public Object onRetainNonConfigurationInstance() {
return this.m_adapter.getItems();
}
然后在你的onCreate():
And then in your onCreate():
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
// more init stuff here
sResultsArr = (ArrayList<SearchItems>)getLastNonConfigurationInstance();
if(sResultArr == null) {
sResultsArray = new ArrayList<SearchItems>(); // or some other initialization
}
self.m_adapter = new ResultsAdapter(home.this, R.layout.listrow, sResultsArr,home.this);
// ...
}
这篇关于安卓:我如何preserve在我arrayadapter /列表视图时变化方向的数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文