我是一種新的Java和在我的測試項目中遇到了一個問題。
如何從void方法返回值?如果我更改標題,我收到此錯誤:
「試圖使用不兼容的返回類型」這裏是代碼返回字符串形式覆蓋類
public void show_sensor (Context appcontext, int sensortype){
new ReactiveSensors(appcontext).observeSensor(sensortype)
.subscribeOn(Schedulers.computation())
.filter(ReactiveSensorFilter.filterSensorChanged())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Action1<ReactiveSensorEvent>() {
@Override
public void call(ReactiveSensorEvent reactiveSensorEvent) {
SensorEvent event = reactiveSensorEvent.getSensorEvent();
float x = event.values[0];
float y = event.values[1];
float z = event.values[2];
String message = String.format("x = %f, y = %f, z = %f", x, y, z);
Log.d("gyroscope readings", message);
}
});
}
我想回到「消息」有什麼辦法,我可以做到這一點?
我也有一個問題讓應用程序上下文,所以我必須通過它,是有可能從類中獲得的ApplicationContext這樣我就可以在後臺運行嗎?
(我想建立一個廣播,我不能在接收器類中使用「getApplicationContext()」)
你不能。如果您重寫一個方法,則返回的類型必須相同。 – jhamon
'call(..)'方法由未知方法異步執行。因此,返回一個字符串(對那個未知的方法)在這裏不會幫助你。 – Robert