#android #floating-point #textview #sharedpreferences
#Android #плавающая точка #textview #sharedpreferences
Вопрос:
LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
String bestProvider = locationManager.getBestProvider(criteria, false);
Location location = locationManager.getLastKnownLocation(bestProvider);
SharedPreferences settings = getSharedPreferences("cars4sale",0);
SharedPreferences.Editor GPS = settings.edit();
GPS.putFloat("latitude", (float)location.getLatitude());
GPS.putFloat("longitude", (float)location.getLongitude());
GPS.commit();
TextView GPSTV = (TextView)findViewById(R.id.GPSTV);
SharedPreferences coords = getSharedPreferences("cars4sale",0);
String gpsstr = GPS.getFloat("gps", "");
GPSTV.setText(gpsstr);
Основная проблема в том, что eclipse хочет, чтобы я изменил getFloat на putFloat, а затем, когда я это делаю, он хочет, чтобы я сделал getInt, а затем переходит в цикл между float и Int. Я просто хочу сохранить число в поле textview!
Комментарии:
1. Что именно с вами происходит? Вы получаете исключение, TextView пуст и т.д.
2. Кажется, что много кода, который не имеет большого значения, ваш макет немного странный (я его немного почищу) и, пожалуйста, укажите реальную ошибку: когда что происходит, и кто не позволяет вам что делать и почему? тем не менее, я угадаю вашу проблему ниже 😉
Ответ №1:
Потому что coords — это sharedpreferences
, и я не думаю, что вы хотите устанавливать там текст?
Ты не имеешь в виду
GPSTV.setText(gpsstr);
Это:
String gpsstr = GPS.getFloat("gps", "");
Не работает, потому что GPS
это ваш редактор, а не ваш sharedpreferences
. Вам нужно это
String gpsstr = String.valueOf(coords.getFloat("gps", 0));
GPSTV.setText(gpsstr);
Комментарии:
1. ДА. Хороший улов, извините за опечатку :). Но основная проблема все еще сохраняется: он хочет, чтобы я изменил getFloat на putFloat, а затем, когда я это делаю, он хочет, чтобы я сделал getInt, а затем переходит в цикл между float и Int. Понятия не имею, почему
2. Хаха, раньше этого не было 🙂 .. Я посмотрю 🙂
3. Спасибо! Я могу предоставить вам полную функцию, если это тоже нужно, это просто кнопка