在我的 MasterDetail Flow 中,我调用这个函数来创建我的列表:
public class Ansicht extends SherlockFragmentActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
//...
ListItems.setupMainItems(this);
//...
}
}
public class ListItems
{
public static List<DetailListItem> ITEMS = new ArrayList<DetailListItem>();
public static Map<String, DetailListItem> ITEM_MAP = new HashMap<String, DetailListItem>();
public static void addItem(String value, Typ t)
{
DetailListItem item = new DetailListItem(value, t);
ITEMS.add(item);
ITEM_MAP.put(item.id, item);
}
//...
}
public class ListControl extends SherlockListFragment
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
adapter = new ArrayAdapter<ListItems.DetailListItem>(getSherlockActivity(), R.layout.simple_listitem, android.R.id.text1,ListItems.ITEMS);
setListAdapter(adapter);
}
//...
}
但是,如果我关闭我的应用程序并重新启动它,项目将再次插入。我想我不必在 onCreate 中调用这个函数,但是这张图片并没有真正帮助我,因为 onCreate 是第一个被调用的方法。
在我的setupMainItems
方法中,我只调用 addItem 方法。onPause
and永远不会被onResume
覆盖。如果我用主页按钮关闭我的应用程序一切正常,但如果我用后退按钮关闭它,项目将再次插入。