3

EditTextで文字列とintを受け取り、保存ボタンをクリックして共有設定に保存するページを作成しましたが、機能させることができません。具体的には、ページを再度開いてもデータが保存されず、データが失われます。助けてください

public class Abc extends Activity{
Button one2five, save1;
EditText edtA, edtB, edtC, edtD, edtE, edtF;
String tA;
int tB, tC, tD, tE, tF;
public static String filename = "MySharedString";
SharedPreferences abcPref;

@Override
protected void onCreate(Bundle savedInstanceState) {
   // TODO Auto-generated method stub
   super.onCreate(savedInstanceState);
   setContentView(R.layout.abc);
   one2five = (Button) findViewById(R.id.btp1);
   save1 = (Button) findViewById(R.id.btps1);
   edtA = (EditText) findViewById(R.id.etA);
   tA = edtA.getText().toString();
   edtB = (EditText) findViewById(R.id.etB);
   tB = edtB.getInputType();
   edtC = (EditText) findViewById(R.id.etC);
   tC = edtC.getInputType();
   edtD = (EditText) findViewById(R.id.etD);
   tD = edtD.getInputType();
   edtE = (EditText) findViewById(R.id.etE);
   tE = edtE.getInputType();
   edtF = (EditText) findViewById(R.id.etF);
   tF = edtF.getInputType();

   one2five.setOnClickListener(new View.OnClickListener() {

       @Override
       public void onClick(View v) {
           // TODO Auto-generated method stub
           Intent openg2j = new Intent("com.sport.sport.G2J");

               abcPref = PreferenceManager.getDefaultSharedPreferences(Abc.this);
               abcPref.getInt("filename", 0);

               startActivity(openg2j);
       }
   });
   save1.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        abcPref= getSharedPreferences(filename,0);
        SharedPreferences.Editor editor = abcPref.edit();
        editor.putString("field1Data", tA);
        editor.putInt("field2Data", tB); 
        editor.putInt("field3Data", tC);
        editor.putInt("field4Data", tD);
        editor.putInt("field5Data", tE);
        editor.commit();
    }
});
}
} 
4

3 に答える 3

0

データをロードするために、SharedPref からのデータを適切に入力しているか確認していただけますか。このようにコメントを入れることはできません。

編集:

public class Abc extends Activity{
Button one2five, save1;
EditText edtA, edtB, edtC, edtD, edtE, edtF;
String tA;
int tB, tC, tD, tE, tF;
public static String filename = "MySharedString";
SharedPreferences abcPref;

@Override
protected void onCreate(Bundle savedInstanceState) {
   // TODO Auto-generated method stub
   super.onCreate(savedInstanceState);
   setContentView(R.layout.abc);
   one2five = (Button) findViewById(R.id.btp1);
   save1 = (Button) findViewById(R.id.btps1);
   edtA = (EditText) findViewById(R.id.etA);
   edtB = (EditText) findViewById(R.id.etB);
   edtC = (EditText) findViewById(R.id.etC);
   // others..
 }
 public void onResume(){
  super.onResume();
   abcPref= getSharedPreferences(filename,0);
   edtA.setText(abdPref.getString("field1Data", null));
   // set others' like


   one2five.setOnClickListener(new View.OnClickListener() {

       @Override
       public void onClick(View v) {
           // TODO Auto-generated method stub
           Intent openg2j = new Intent("com.sport.sport.G2J");

               abcPref = PreferenceManager.getDefaultSharedPreferences(Abc.this);
               abcPref.getInt("filename", 0);

               startActivity(openg2j);
       }
   });
   save1.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        tA = edtA.getText().toString();
        tB = edtB.getInputType();
        tC = edtC.getInputType();
        //others..

        abcPref= getSharedPreferences(filename,0);
        SharedPreferences.Editor editor = abcPref.edit();
        editor.putString("field1Data", tA);
        editor.putInt("field2Data", tB); 
        editor.putInt("field3Data", tC);
        editor.putInt("field4Data", tD);
        editor.putInt("field5Data", tE);
        editor.commit();
    }
});
}
} 

これを見てください。

于 2013-09-05T08:44:16.400 に答える