У меня есть OnTouch и setOnTouchListener, который обновляет переменные, которые содержат информацию о координатах экрана. Проблема в том, что он, кажется, никогда не обновляет их. В строке 78 RGB.setText (тест); оно никогда не меняется с 0.0. Если бы я переместил эту строку и строку над ней в onTouch, он обновляется. Есть идеи, что не так? Спасибо.
package com.evankimia.huskybus;
import com.test.huskybus.R;
импорт android.app.Activity;
импорт android.os.Bundle;
import android.view.MotionEvent;
импорт android.view.View;
import android.view.View.OnTouchListener;
import 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?
String test = "" + scrollByX;
RGB.setText (тест);
}
}