【发布时间】:2010-07-10 19:19:46
【问题描述】:
我有一个 OnTouch 和一个 setOnTouchListener 来更新包含屏幕坐标信息的变量。问题是它似乎永远不会更新它们。在第 78 行,RGB.setText(test);它永远不会从 0.0 改变。如果我将该线及其上方的线移动到 onTouch 中,它会更新。知道有什么问题吗?谢谢。
package com.evankimia.huskybus;
导入 com.test.huskybus.R;
导入android.app.Activity; 导入android.os.Bundle; 导入 android.view.MotionEvent; 导入android.view.View; 导入 android.view.View.OnTouchListener; 导入android.widget.TextView;
公共类 HuskyBus 扩展 Activity {
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(test);
}
}
【问题讨论】: