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;
}
Run Code Online (Sandbox Code Playgroud)
我怎么能解决这个错误?
如何制作像setInt(int num);
顺便说一下,变量num和text都是EditText
Gui*_*ume 10
如果您将数值作为文本传递给文本字段,Android将尝试将其解释为资源ID.先把它作为文本.首选方法是:
num.setText(String.valueOf(returnnum));
Run Code Online (Sandbox Code Playgroud)
(有关转换为字符串的良好做法,请查看此帖子)
| 归档时间: |
|
| 查看次数: |
10461 次 |
| 最近记录: |