如何使用onSaveInstanceState()

时间:2014-02-17 20:59:36

标签: android android-activity

我创建了三个活动,第一个是Main_Activity,第二个叫做new_button,第三个叫做general_button。 main_activity包含其他两个活动,new_button活动的按钮(New)和general_button活动的按钮(general)。 new_button活动包含一个EditText和一个名为done_button的按钮。 general_button活动只包含一个TextView。我使用Intent将Edit_bxt中的编写数据从new_button活动传输到general_button活动中的TextView,并使用以下代码:

new_button(活动):

package com.tarek.topshine;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class new_button extends Activity {

Button done_button;
String text;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.new_button);
    addListenerOnButton();}

    public void addListenerOnButton() {

        done_button = (Button) findViewById(R.id.done_button);
        done_button.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {

            EditText editText = (EditText)findViewById(R.id.editText1);
            String text = editText.getText().toString();

                 Intent myIntent = new Intent(view.getContext(),general_button.class);
                 myIntent.putExtra("mytext",text);
                 startActivity(myIntent);

            }
        });
    }

general_button(活动):

package com.tarek.topshine;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class general_button extends Activity {

TextView mTextview;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.general_button);

    mTextview = (TextView)findViewById(R.id.textView1);

    mTextview.setText(getIntent().getStringExtra("mytext"));
}

}

现在我遇到的问题是我无法将new_button活动中的意图信息保存到general_button活动中。例如:我需要稍后从main_activity打开general_button活动并查看已编辑的信息。我在网上看到我可以使用onSavedInstanceState方法,但我无法弄清楚:(

我做错了吗?如果我是,我怎么能解决这个问题?!

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

如果您使用PreferenceManager.getDefaultSharedPreferences()

,可能会更好

您可以在http://developer.android.com/guide/topics/data/data-storage.html#pref中阅读 一个活动写入首选项,另一个活动从同一首选项读取。

保存/恢复状态可能无济于事,因为这里有共享数据,而不是重新创建相同的数据。