У меня есть OnTouch и setOnTouchListener, который обновляет varibles, которые содержат информацию о координатах экрана. Проблема в том, что он, похоже, никогда не обновляет их. В строке 78, RGB.setText (тест); он никогда не меняется с 0.0. Если бы я переместил эту строку и линию над ней в onTouch, она обновится. любая идея, что не так? Спасибо.Проблема с доступом к обновленным переменным в OnTouch
package com.evankimia.huskybus;
импорт com.test.huskybus.R;
импорт android.app.Activity; import android.os.Bundle; импорт android.view.MotionEvent; импорт android.view.View; import android.view.View.OnTouchListener; импорт android.widget.TextView;
общественный класс HuskyBus расширяет активность {
TextView RGB;
private CampusMap mCampusMap;
private float startX = 0; //track x from one ACTION_MOVE to the next
private float startY = 0; //track y from one ACTION_MOVE to the next
float scrollByX = 0; //x amount to scroll by
float scrollByY = 0; //y amount to scroll by
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
RGB = (TextView) findViewById(R.id.coordBox);
mCampusMap = (CampusMap) findViewById(R.id.map);
mCampusMap.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// Remember our initial down event location.
startX = event.getRawX();
startY = event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
float x = event.getRawX();
float y = event.getRawY();
// Calculate move update. This will happen many times
// during the course of a single movement gesture.
scrollByX = x - startX; //move update x increment
scrollByY = y - startY; //move update y increment
startX = x; //reset initial values to latest
startY = y;
mCampusMap.invalidate();
break;
}//end switch
return false;
}
;
}); //end onDraw?
Строка тест = "" + scrollByX; RGB.setText (тест);
}
}
Спасибо, но я действительно пытаюсь получить переменные scrollByX и scrollByY, доступные для основного класса. У меня есть пользовательский вид, который ссылается на этот класс thisClass.scrollByX, но поскольку по какой-то причине переменные не обновляются в onTouchListener, он никогда не изменяется с 0. –