Общие предпочтения осложнений - PullRequest
0 голосов
/ 29 июля 2011

Привет, поэтому я пытаюсь использовать общие настройки для хранения информации, которая передается по одному действию, а затем вызывается и отображается в другом действии.Я думал, что это правильно, но он дает красное подчеркивание на классе 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);


}

}

Любая помощь будет оценена.Заранее спасибо

Ответы [ 2 ]

1 голос
/ 29 июля 2011

В классе представления заключите ключ в двойные кавычки, такие как

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

вы также можете использовать "" вместо null.

1 голос
/ 29 июля 2011
k=saved.getInt("STRIKEOUTS", 0);
ip=saved.getString("INNINGS_PITCHED", null);

Это должно исправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...