2011-07-29 13 views
0

ちょっと共有の設定を使用して1つのアクティビティに送信された情報を保存しようとしていて、それが呼び出されて別のアクティビティに表示されます。私はそれが正しいと思ったが、キーの下のViewクラスに赤い下線を付ける。共有設定の複雑さ

public class AddGame extends Activity{ 
private static final String[] earnedRuns = { 
    "0","1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15"}; 
private static final String[] inningsP = { 
    "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15"}; 
private static final String[] inningsP2 = {".00",".33", ".66"}; 
private static final String[] strikeOuts = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15"}; 


double ip=0; 
int k=0; 

public static final String PREFS_NAME = "GameSaved"; 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.addgame); 


    final DecimalFormat formatter = new DecimalFormat("0.000"); 

    //Pitcher Stats 

    final Spinner spin1 = (Spinner) findViewById(R.id.spin1); 
    ArrayAdapter<String> spinn1 = new 
     ArrayAdapter<String>(this, R.layout.spinner_entry, inningsP); 
    spinn1.setDropDownViewResource(R.layout.spinner_entry); 
    spin1.setAdapter(spinn1); 

    final Spinner spin2 = (Spinner) findViewById(R.id.spin2); 
    ArrayAdapter<String> spinn2 = new 
     ArrayAdapter<String>(this, R.layout.spinner_entry, inningsP2); 
    spinn2.setDropDownViewResource(R.layout.spinner_entry); 
    spin2.setAdapter(spinn2); 

    final Spinner spin3 = (Spinner) findViewById(R.id.spin3); 
    ArrayAdapter<String> spinn3 = new 
     ArrayAdapter<String>(this, R.layout.spinner_entry, strikeOuts); 
    spinn3.setDropDownViewResource(R.layout.spinner_entry); 
    spin3.setAdapter(spinn3); 

    Button save = (Button) findViewById(R.id.save); 
    save.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View calculate) 
     { 



     ip = Integer.parseInt((String) spin1.getSelectedItem()) + Double.parseDouble((String) spin2.getSelectedItem()); 
     k = Integer.parseInt((String) spin3.getSelectedItem()); 


     SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_WORLD_READABLE); 
     SharedPreferences.Editor editor = settings.edit(); 
     saveGame(editor); 
     editor.commit(); 

     Intent i = new Intent(AddGame.this, CurSeason.class); 
     startActivity(i); 
     } 
    }); 
} 

public void saveGame(SharedPreferences.Editor map){ 
    if (map == null) {   
     return; 
    } 

    //Pitching 
    map.putString("INNINGS_PITCHED", Double.toString(ip)); 
    map.putInt("STRIKEOUTS", k); 



} 

}

これは、呼び出されることになっている図です。

public class ViewCurrent extends Activity{ 
public static final String PREFS_NAME = "GameSaved"; 
int k=0; 
double ip=0; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.viewcurrent); 


    SharedPreferences saved = this.getSharedPreferences(PREFS_NAME, MODE_WORLD_READABLE); 
    k=saved.getInt(STRIKEOUTS, 0); 
    ip=saved.getString(INNINGS_PITCHED, null); 


} 

}

任意の助けが理解されるであろう。事前に感謝します

答えて

1

K = saved.getInt( "三振"、0)のような二重引用符でキーを囲みます。 ip = saved.getString( "INNINGS_PITCHED"、null);

代わりに ""を使用することもできます。

+0

ありがとうございました。私は彼らの周りに ""気付かなかったとは信じられません。ニースはそれに気づいた。 – steven

1
k=saved.getInt("STRIKEOUTS", 0); 
ip=saved.getString("INNINGS_PITCHED", null); 

それはそれを修正する必要があります。ビュークラスの