1

このコードがあります。変更後または新しいアクティビティの開始後、最初の入力から編集ボックスの値を保持したいと思います。

これは、このコードで何が起こるかです。

editbox1 = 1 > start new activity > back to recent activity > editbox1 = null

私はこれが起こる必要があります:

editbox1 = 1 > start new activity > back to recent activity > editbox1 = 1

コード

package org.example.touch;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.*;
import android.widget.EditText;


public class SettingsClass extends Activity {


    private EditText Alpha;
    private EditText Beta;
    private EditText Charlie;
    private EditText Delta;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.settings);

        Alpha = (EditText) findViewById(R.id.editText1);
        Beta = (EditText) findViewById(R.id.editText2);
        Charlie = (EditText) findViewById(R.id.editText3);
        Delta = (EditText) findViewById(R.id.editText4);    

    }

    public void buttonSBHandler (View view){        

        String Aint = Alpha.getText().toString();
        String Bint = Beta.getText().toString();
        String Cint = Charlie.getText().toString();
        String Dint = Delta.getText().toString();

        Intent startNewActivityOpen = new Intent(SettingsClass.this, GameUi.class);

        startNewActivityOpen.putExtra("Aint", Aint);
        startNewActivityOpen.putExtra("Bint", Bint);
        startNewActivityOpen.putExtra("Cint", Cint);
        startNewActivityOpen.putExtra("Dint", Dint);
        startActivityForResult(startNewActivityOpen, 0);
        //startActivity(new Intent(view.getContext(), GameUi.class));
        }
}
4

1 に答える 1

2

1)1つは、共有プリファレンスを使用して値を共有プリファレンスに保存し、oncreate()メソッドで、共有プリファレンスから値を取得するよりも、共有プリファレンスがnullでないかどうかを最初にチェックすることです。

また

2)編集テキストのデータを静的なものにするだけです-

static String Aint = Alpha.getText().toString();
      static   String Bint = Beta.getText().toString();
        static String Cint = Charlie.getText().toString();
       static String Dint = Delta.getText().toString();

したがって、アクティビティに戻ると、編集テキストの以前のデータがそこに表示されます。これらが完璧に機能することを願っています。ありがとう

于 2012-10-27T07:12:41.683 に答える