2012-05-21 39 views
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) { 

      } 
     }); 

    } 

} 

回答

1

尝试在您的清单文件中添加android:configChanges="keyboardHidden|orientation"

其次,什么也不做在onStart()和的onResume()。 请致电您的活动像这样:

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

希望这有助于!

+0

nope,它仍然重新加载数据。 – code511788465541441

0

您可以将数据保存到共享首选项中,或通过onSaveInstanceState()使用保存的实例状态,然后您可以访问作为onCreate()方法的参数的savedInstanceState包上的数据。

相关问题