이 함수는 0.0을 반환하지만 모든 값은 부동이며 공유 환경 설정에서 올바르게 검색됩니다! 무엇이 오류가 될 수 있습니까?float에서 검색된 값은 0.0입니까?
float BMR(){
SharedPreferences customSharedPreference = getSharedPreferences(
"myCustomSharedPrefs", Activity.MODE_PRIVATE);
String Weight =customSharedPreference.getString("weightpref", null);
float weight = Float.valueOf(Weight);
String Height = customSharedPreference.getString("heightpref",null);
float height = Float.valueOf(Height);
String Age = customSharedPreference.getString("agepref", null);
float age = Float.valueOf(Age);
int gender = customSharedPreference.getInt("genderpref", 0);
Toast.makeText(StatsActivity.this, Age, Toast.LENGTH_LONG).show();
if (gender == 0){
bmr = (float) (10.0 *weight + 6.25 * height - 5.0 * age + 5.0);
}
if(gender == 1){
bmr = (float) (10.0 * weight + 6.25 * height - 5.0 * age- 161.0);
}
String bmrtest = String.valueOf(bmr);
Toast.makeText(StatsActivity.this, "bmr is "+bmrtest, Toast.LENGTH_LONG).show();
return bmr;
}
디버거로 코드를 실행 해 보았습니까? 이 함수는'bmr'이라는 이름의 변수를 실제로 선언하지 않습니다. –
코드를 디버그하고 성별, 체중, 신장, 나이를 bmr의 계산 라인에 제공해야합니다. – dbf
나는 공유 환경 설정의 내용을보기 위해 토스트를 사용하고 있으며, sharedprefs에 저장된 올바른 값을 얻는다. – callback