-2

画面が回転しているときに文字列値を復元しようとしていますが、常にnullです。

public class Main_screen extends Activity {
    TextView t;
    String path, ext;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main_screen);
        t = (TextView) findViewById(R.id.textView2);
        if (savedInstanceState != null){
            path = savedInstanceState.getString(path);
            ext = savedInstanceState.getString(ext);
            t.setText(getString(R.string.selected) + "\n" + path + "\n\n" + getString(R.string.unpr_new) + "\n" + path + ext);
        }
    }

デバイスを回転すると、パスと ext が null になります。文字列を手動で保存する必要がありますか? または、保存されたインスタンスで回転すると自動的に保存されますか?

4

1 に答える 1

2

マニフェストファイルで宣言する場合は、これを確認してください

android:configChanges="orientation"

このフラグを宣言した場合、アクティビティは破棄および再作成されず、コールバック

このメソッドをオーバーライドします:==>> onConfigurationChanged()

が呼び出されます。

于 2013-01-19T12:14:37.247 に答える