Java Android开发:第一次触摸=文本视图1,第二次触摸=文本视图2等
我需要一些关于android程序的帮助。我需要在每次触摸上显示一些文本视图。第一次触屏=文本视图1,第二次触屏=文本视图2等。我尝试在操作下一次触屏后使用操作下一次触屏,但它在一次触屏中显示所有文本视图Java Android开发:第一次触摸=文本视图1,第二次触摸=文本视图2等,java,android,ontouchlistener,Java,Android,Ontouchlistener,我需要一些关于android程序的帮助。我需要在每次触摸上显示一些文本视图。第一次触屏=文本视图1,第二次触屏=文本视图2等。我尝试在操作下一次触屏后使用操作下一次触屏,但它在一次触屏中显示所有文本视图 public boolean onTouch(View v, MotionEvent event) { boolean inTouch = false; int actionMask = event.getActionMasked(); tv = (
public boolean onTouch(View v, MotionEvent event) {
boolean inTouch = false;
int actionMask = event.getActionMasked();
tv = (TextView) findViewById(R.id.textView3);
tv1 = (TextView) findViewById(R.id.textView4);
tv2 = (TextView) findViewById(R.id.textView5);
tv3 = (TextView) findViewById(R.id.textView6);
int pointerCount = event.getPointerCount();
int downPI = 0;
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: // 1st touch
inTouch = true;
case MotionEvent.ACTION_POINTER_DOWN: // next touches
downPI = pointerCount;
switch (downPI) {
case 0:
tv.setVisibility(View.VISIBLE);
break;
case 1:
tv1.setVisibility(View.VISIBLE);
break;
case 2:
tv2.setVisibility(View.VISIBLE);
break;
case 3:
tv3.setVisibility(View.VISIBLE);
break;
}
break;
}
return false;
尝试以下解决方案:-
只需将下面的行(定义变量)添加到onCreate()上方即可:-
并在下面的代码中添加注释,如onTouch
:-
// downPI = pointerCount;
并在返回false之前递增代码>如:-
if(downPI < 3)
downPI++;
return false;
if(downPI<3)
downPI++;
返回false;
你必须签入动作向上
因为动作向下
经常被触发,我只是认为指针计数应该随着每次触摸而改变它的值没有问题。有时,另一种方法在编码方面更好。
if(downPI < 3)
downPI++;
return false;