2012-01-18 53 views
0
public void onClick(View v) { 
    switch(v.getId()){ 
    case R.id.save2: 
     s = text.getText().toString(); 
     number = Float.parseFloat(num.getText().toString()); 
     SharedPreferences.Editor editor = shared.edit(); 
     editor.putString("sharedtext",s); 
     editor.putFloat("sharednum",number); 
     editor.commit(); 
     Toast.makeText(this,"save2",Toast.LENGTH_SHORT).show(); 
     break; 
    case R.id.load2: 
     String returner = shared.getString("sharedtext","Returner fail"); 
     float returnnum = shared.getFloat("sharednum","number fail"); 
     //there is a red mark here^^^^^^^^^(getfloat) 
     text.setText(returner); 
     //num.set.......how will 
     Toast.makeText(this,"load2",Toast.LENGTH_SHORT).show(); 
     break; 
    case R.id.page2: 
     intent= new Intent(this,SharedPreferencesActivity.class); 
     startActivity(intent); 
     Toast.makeText(this,"page2",Toast.LENGTH_SHORT).show(); 
     break; 
    } 

//這裏有一個紅色標記^^^^^^^^^(getfloat) - 一種錯誤,讓我切換至getInt和getFloat設置/將數字值置於sharedpreferences中?

//num.set ..... ..我將如何設置一個數字值?

感謝

+0

改變它漂浮returnnum = shared.getFloat( 「sharednum」, 「0.0」); – 2012-01-18 09:12:25

+0

http://stackoverflow.com/questions/2457215/how-does-one-declare-the-type-of-an-android-preference – 2012-01-18 09:15:45

+0

是的,這是正確的謝謝:) – 2012-01-18 09:29:32

回答

1

您還需要設置一個默認值,當您從喜好嘗試的GetValues,如下圖所示:

float returnnum = shared.getFloat("sharednum",0.0); 
0

float returnnum = shared.getFloat("sharednum","number fail");

更改 「號失敗」 了一些float類型。此參數表示默認值,因此您不能使用字符串。

0

試試這個

float returnnum = shared.getFloat("sharednum",0f);