手指在按钮上移动时更改textView [英] Change textView while moving finger across buttons
问题描述
在我的应用程序中,我有一个活动,其中有9个按钮和1个textView
.当我在各个按钮上移动手指时,我正在使用OnTouchListener
来更改textView
中的文本.
In my app, I have an activity in which there are 9 buttons and 1 textView
. I am making use of OnTouchListener
to change the text in the textView
as I move my finger accross the buttons.
这是我的活动的样子:
This is what my activity looks like:
这是我的 java 代码:
button1.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 1");
return false;
}
});
button2.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 2");
return false;
}
});
button3.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 3");
return false;
}
});
button4.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 4");
return false;
}
});
button5.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 5");
return false;
}
});
button6.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 6");
return false;
}
});
button7.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 7");
return false;
}
});
button8.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 8");
return false;
}
});
button9.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 9");
return false;
}
});
但是此代码的问题在于,它仅获得我触摸的第一个按钮的OnTouchListener
.简而言之,当我动动手指时,我首先触摸的按钮会更改textView
,而其余按钮则不会.
我也在网上搜索并且stackoverflow也遇到了类似MotionEvent.ACTION_MOVE
,但我不知道如何使用它,并且不确定在这种情况下是否适用.
请帮我解决这个问题!谢谢您的时间.
But the problem with this code is that it only gets the OnTouchListener
of the first button I touched. In simple words, when i move my finger, the button that I touched first changes the textView
while the rest of the buttons don't.
I searched on the net and stackoverflow as well and I came across something like MotionEvent.ACTION_MOVE
but I don't know how to use it and I am not sure if it is applicable in this case.
Please help me solve this problem! thank you for your time.
推荐答案
您可以使用setOnClickListener
或切换大小写来完成所需的操作
您可以在活动中implements OnTouchListener
并使用ACTION_UP
you can use setOnClickListener
or switch case for doing whatever you want
either you can implements OnTouchListener
on your activity and use ACTION_UP
我在这里为您做第一种方法
i am doing a first method for you here
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
textView.setText("Button 1");
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
textView.setText("Button 2");
}
});
您可以继续执行此操作...
you can continue with this ...
这篇关于手指在按钮上移动时更改textView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!