내 안드로이드 응용 프로그램에 대한 내 나무 딸기 파이의 온도를 읽고 싶습니다. 서버에서 변수는 double로 리턴됩니다. XML에서 문자열로 반환됩니다. 따라서 String 또는 double 인 경우 값을 설정할 수있는 제네릭 setter를 만들지 않는 이유가 생겼습니다.데이터 바인딩 라이브러리에서 String이나 Double이 될 수있는 변수를 android에 바인딩하는 방법은 무엇입니까?
@Bindable
public String getCPUTemperature(){
return Double.toString(mCPUTemp);
}
/**
* Sets the CPU temperature for the device view model.
* @param <T> The generic parameter T accepts a String as wel as a Double to set the available memory.
*/
public <T> void setCPUTemperature(T CPUTemp){
if(CPUTemp.getClass().equals(String.class))
this.mCPUTemp = Double.parseDouble((String)CPUTemp);
else if(CPUTemp.getClass().equals(Double.class))
this.mCPUTemp = (double)CPUTemp;
notifyPropertyChanged(BR.cPUTemperature);
}
그러나 나는 것을 발견이 세터 만든 후 :
참고 : 오류가없는 경우 등의 관찰 클래스와 배열과 일반적인 유형, 오류를 표시 할 수 있습니다.
그래서 나는 궁금해하기 시작했습니다. 그것은 일반 변수로 해결할 수 있습니까? 그렇다면 그것을 해결하는 가장 좋은 방법은 무엇입니까?
이것은 내가 찾고있는 대답입니다. ViewModel 대신보기에서 코드의 서식을 지정하는 것에 대한 의문이있었습니다. 그러나 이것을 본 후에 나는 코드가 더 적어지고 유지 보수가 더 쉬워 져야하기 때문에 더 나은 곳이라고 생각하는 경향이 있습니다. – user3473161