0
Я не могу получить значение из sharedpreferences в этом классе. getDefaultSharedPreferences дает ошибку «Метод getDefaultSharedPreferences (контекст) в типе PreferenceManager не применим для аргументов (HandlingXMLStuff)»Не удается получить значение из ListPreference
я могу получить значение из моего основного класса, но я не могу передать его в класс, показанном ниже.
public class HandlingXMLStuff extends DefaultHandler {
String Units;
private XMLDataCollected info = new XMLDataCollected();
public String getInformation() {
return info.dataToString();
}
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(this);
String unit = prefs.getString("unitsofmeasure", "Fahrenheit");
Log.d("HandlingXMLStuff", "test" + unit);
// if (Units == "Farenheit") {
if (localName.equals("city")) {
String city = attributes.getValue("data");
info.setCity(city);
Log.d("DeskClockActivity", "test" + city);
} else if (localName.equals("temp_f")) {
String t = attributes.getValue("data");
int temp = Integer.parseInt(t);
info.setTemp(temp);
}
/*
* }/* else if (unit == "C") { if (localName.equals("city")) { String
* city = attributes.getValue("data"); info.setCity(city); } else if
* (localName.equals("temp_c")) { String t =
* attributes.getValue("data"); int temp = Integer.parseInt(t);
* info.setTemp(temp); } }
*/
}
}
Так есть ли другой способ, чтобы я мог получить значение из sharedpreference в классе DefaultHandler? – MikeC
просто передайте контекст вашему классу HandlingXMLStuff и используйте его для метода getDefaultSharedPreferences –
@Mike: Конечно, ваш конструктор 'HandlingXMLStuff' возьмет ссылку« Контекст »и использует это для взаимодействия с общими предпочтениями. В качестве альтернативы вы можете настроить интерфейс прослушивателя, который ваш «HandlingXMLStuff» будет вызывать методы, когда это применимо, и абстрагировать взаимодействие с общими предпочтениями в каком-то другом классе, который имеет «Context». –