2013-09-23 38 views
0

我要救totalBalance在這場比賽中,當應用程序被關閉,再次檢索它變成textView5當用戶再次播放應用程序...但我試圖和它給我什麼請幫我...我怎麼需要在這做什麼?如何保存應用程序關閉一個價值和檢索應用程序時,打開了再次

public class Main extends Activity implements OnClickListener { 

private ArrayList<ToggleButton> mToggleButtons = new ArrayList<ToggleButton>(); 
public static TextView textView1, textView2, textView3, textView4, 
     textView5, textView6; 
Button button1; 
ToggleButton t; 
int i; 
int randomNumber; 
float winingPrize = 0; 
float totalBalance = 0; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.main); 

    textView1 = (TextView) findViewById(R.id.textView1); 
    textView2 = (TextView) findViewById(R.id.textView2); 
    textView3 = (TextView) findViewById(R.id.textView3); 
    textView4 = (TextView) findViewById(R.id.textView4); 
    textView5 = (TextView) findViewById(R.id.textView5); 
    textView6 = (TextView) findViewById(R.id.textView6); 

    button1 = (Button) findViewById(R.id.button1); 

    ToggleButton cb = null; 

    for (i = 1; i <= 9; i++) { 
     cb = new ToggleButton(this); 
     cb.setText(Integer.toString(i)); 
     cb.setTextOn(Integer.toString(i)); 
     cb.setTextOff(Integer.toString(i)); 
     cb.setBackgroundResource(R.drawable.check); 
     cb.setOnClickListener(this); 
     cb.setId(i); 
     registerForContextMenu(cb); 
     mToggleButtons.add(cb); 
    } 

    GridView gridView = (GridView) findViewById(R.id.gridview); 
    gridView.setAdapter(new CustomAdapter(mToggleButtons)); 
    gridView.setOnItemClickListener(new OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View v, 
       int position, long id) { 

      // Button b1 = (Button) findViewById(R.id.button1); 
      // TextView textView2 = (TextView) findViewById(R.id.textView1); 
      // textView2.setText(Integer.toString(i)); 

     } 
    }); 
} 

@Override 
public void onClick(View v) { 

    // Making a array list and when we click on button1 its checkes 
    // which of the togglebuttons are selected 
    final ArrayList<Integer> positive_IDs = new ArrayList<Integer>(); 
    for (int i = 0; i < mToggleButtons.size(); i++) { 
     ToggleButton b = mToggleButtons.get(i); 
     if (b.isChecked()) { 
      // putting all buttons id that are checked into 
      // arrayList 
      positive_IDs.add(b.getId()); 
     } 
    } 
    textView6.setText("Selected Numbers : " + positive_IDs.toString()); 
    // Toast.makeText(getBaseContext(), positive_IDs.toString() + 
    // " Enabled", Toast.LENGTH_SHORT).show(); 

    textView3.setText("Total Number Selected = " 
      + Integer.toString(positive_IDs.size())); 

    switch (positive_IDs.size()) { 
    case 1: { 
     winingPrize = .5f; 
     break; 
    } 
    case 2: { 
     winingPrize = .25f; 
     break; 
    } 
    case 3: { 
     winingPrize = .1f; 
     break; 
    } 
    case 4: { 
     winingPrize = .05f; 
     break; 
    } 
    case 5: { 
     winingPrize = .01f; 
     break; 
    } 
    case 6: { 
     winingPrize = .00f; 
     break; 
    } 
    } 
    textView4.setText("Wining Prize = Rs: " 
      + String.format("%.2f", winingPrize)); 

    final Button button = (Button) findViewById(R.id.button1); 
    button.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      // Do something in response to button click 

      // Genrating random number Random number 
      Random rn = new Random(); 
      randomNumber = (int) rn.nextInt(9) + 1; 

      // changes textView1 equals to random number 
      textView1.setText("Random Number is " 
        + Integer.toString(randomNumber)); 
      button.setText("Play Again"); 

      // Matching random number to ArrayList 
      if (positive_IDs.contains(randomNumber)) { 
       // if matched then changes textView2 to Matched Number 
       textView2.setText("Number: " 
         + Integer.toString(randomNumber) + " Matched"); 
       // Toast.makeText(getBaseContext(), "Number:" + 
       // Integer.toString(randomNumber) + " Matched", 
       // Toast.LENGTH_SHORT).show(); 

       totalBalance = totalBalance + winingPrize; 
       textView5.setText("Total Balance = Rs: " 
         + String.format("%.2f", totalBalance)); 

      } 

     } 
    }); 
} 

} 
+0

你只需要存儲你所需要的值在您的應用程序存儲和調用您希望在活動開始我認爲這將是對你有幫助的價值http://stackoverflow.com/questions/3624280/how-to-use-sharedpreferences-in-android-to-store-獲取和編輯值 – NetStarter

回答

1

有,通過它可以實現這一目標的方法數,其中有些是

使用靜態變量或

使用Shared preferences

看到這個link for more options

我會建議你使用共享偏好來存儲數據。

+0

使用共享偏好更適合您的情景在我看來。 – Ercan

0

您可以使用共享偏好的方法是這樣的

public class PreferenceData { 

    public static SharedPreferences getSharedPreferences(Context ctx) { 
     return PreferenceManager.getDefaultSharedPreferences(ctx); 
    } 

    public static void setTempString(Context ctx, String str, int str1) { 
     Editor editor = getSharedPreferences(ctx).edit(); 
     editor.putInt(str, str1); 
     editor.commit(); 
    } 

    public static int getTempString(Context ctx, String str) { 
     return getSharedPreferences(ctx).getInt(str, 100); 
    } 

    public static void setString(Context ctx, String str, String str1) { 
     Editor editor = getSharedPreferences(ctx).edit(); 
     editor.putString(str, str1); 
     editor.commit(); 
    } 

在一類和檢索它在你的功能,當你需要這樣的:

int prfdata = PreferenceData.getTempString(context, 
            "downloadcount"); 
          prfdata = prfdata--; 
          PreferenceData.setTempString(context, 
            "downloadcount", prfdata); 
相關問題