2014-02-12 15 views
0

我有一個簡單的應用程序,在我的第一個Activity中(A)在Edtittext中插入一個字符串並單擊保存按鈕,該字符串通過Intent傳遞給下一個Activity(B)。到目前爲止這麼好,但這裏的問題是實現SharedPreferences。 使用意圖是做到這一點的最佳方式,並立即通過sinal.Apenas需要幫助來保存此字符串!如何使用SharedPreferences保存通過Intent作爲參數傳遞給另一個Activity的字符串?

我的活動西乙:

私人意向Grava酒店;

btSalvarSeg = (Button) findViewById(R.id.SalvarSeg); 
    btSalvarSeg.setOnClickListener(new Button.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 

      grava = new Intent(Segunda.this, Main.class); 

      grava.putExtra("Matéria 1", etHrSeg1.getText().toString()); 
      grava.putExtra("Matéria 2", etHrSeg2.getText().toString()); 
      grava.putExtra("Matéria 3", etHrSeg3.getText().toString()); 
      grava.putExtra("Matéria 4", etHrSeg4.getText().toString()); 
      grava.putExtra("Matéria 5", etHrSeg5.getText().toString()); 
      grava.putExtra("Matéria 6", etHrSeg6.getText().toString()); 
      grava.putExtra("Matéria 7", etHrSeg7.getText().toString()); 

      startActivity(grava); 
     } 

    }); 

下一個活動主:

意圖布斯卡; String Mat 1;

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

    busca = getIntent(); 

    Mat1 = busca.getStringExtra("Matéria 1"); 

    tvMainS1 = (TextView) findViewById(R.id.MainS1); 
    tvMainS1.setText(Mat1);// Restaura preferências salvas}} 

我需要做什麼?請幫助我,我正在等待答案:)

回答

1

只要您正確處理SharedPreferences,就可以從任何地方訪問SharedPreferences,例如通過使用默認設置,您可以按如下方式進行操作(只要您的應用程序的任何位置你有一個參考上下文):

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); 
Editor editPrefs = prefs.edit(); 
editPrefs.putBoolean(key, value); 
editPrefs.commit(); 

希望它有助於!

商祺!

1

如果你想使用SharedPrefrences,那麼你不需要通過Intent傳遞值。

您可以輕鬆設置並從共享優先權中獲取價值。

Here你可以看到這個例子。

+0

我穿着這個背景,但是會發生什麼,當活動被改變爲textview還沒有更新,你必須進入另一個活動,並通過點擊它重定向的按鈕來查看是什麼意圖salvo.Com剛剛使用textview已定義,但你不能保存:/ –

+0

我只是不明白你..試圖描述你的努力和問題。 –

相關問題