0

いくつかのリスト アクティビティがあり、一方が他方につながっています。Return を押して前のリスト アクティビティに戻り、再びこのアクティビティに戻ると、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

android:configChanges="keyboardHidden|orientation"マニフェスト ファイルに追加してみてください

次に、onStart() と onResume() では何もしません。次のように Activity を呼び出します。

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

お役に立てれば!

于 2012-05-21T18:43:19.307 に答える
0

Shared プリファレンスでデータを保存するか、onSaveInstanceState()を介して保存されたインスタンスの状態を使用して、 onCreate() メソッドのパラメーターである savedInstanceState Bundle のデータにアクセスできます。

于 2012-05-21T18:57:01.910 に答える