2012-01-18 7 views
1
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",0); 
     text.setText(returner); 
     num.setText(returnnum); //error here 
     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; 
    } 

どうすればこのエラーを解決できますか?Floatデータ型を使用してsetText()を呼び出す方法は?

setInt(int num)のようにする方法。あなたがテキストフィールドにテキストとして数値を渡すと

ところで、変数numとテキストの両方のEditText

+0

http://sspower3.blogspot.com/2011/11/sharedpreferences-in-eazy-way。これはあなたのために役立つかもしれません – Andy

+0

これは興味深いですが、sharedpreferencesの知識の前に私はR.stringの管理を考えているからです....しかし、誰もがそれは静的であり、その値は変更できないと言います私はblogspotに混乱しています –

+0

私はあなたが{ユーザ名}この文で混乱すると思います。非常に慎重にチェックし、解決策を見つけるでしょう。 – Andy

答えて

7

あり、AndroidはリソースIDとしてそれを解釈しようとします。まずそれをテキストにします。好ましい方法は、実行することです。

num.setText(String.valueOf(returnnum)); 

(文字列、check this postへの変換には良いプラクティスについて)

+0

は完璧に動作し、またリンクのために多くのおかげで:) –

関連する問題