0

我有一些列表活动,一个导致另一个。每当我按下返回并返回到上一个列表活动,然后再次返回到此活动时,它都会重新执行整个 onCreate 处理。

如何让它记住加载到列表中的数据?

public class Modules extends ListActivity {
    PortalHandler portalHandler;
    Login login;
    ArrayList<String> menuItems;
    Document portal;
    String portalHtml;
    Elements modules;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        menuItems = new ArrayList<String>();
        Bundle extras = getIntent().getExtras().getBundle("extras");
        portalHtml = extras.getString("portalHtml");
        portal = Jsoup.parse(portalHtml);
        modules = portal.select(".courselink ");
        for (int i = 0; i < modules.size(); i++) {
            menuItems.add(modules.get(i).text()
                    .substring(0, modules.get(i).text().indexOf("(")));
        }
        setListAdapter(new ArrayAdapter<String>(this, R.layout.modules,
                menuItems));
        ListView listView = getListView();
        listView.setTextFilterEnabled(true);

        listView.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {

            }
        });

    }

}
4

2 回答 2

1

Try adding android:configChanges="keyboardHidden|orientation" in your Manifest file

Secondly, do nothing in onStart() and onResume(). Call your Activity like this:

Intent i = new Intent(Second.this,First.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

Hope this helps!

于 2012-05-21T18:43:19.307 回答
0

您可以在 Shared 首选项中保存数据,也可以通过onSaveInstanceState()使用保存的实例状态,然后您可以访问作为 onCreate() 方法参数的 savedInstanceState Bundle 上的数据。

于 2012-05-21T18:57:01.910 回答