アンドロイドでは、
ユーザーがボタンを押してからそのボタンを離すまで、関数の呼び出しを繰り返すにはどうすればよいですか?
clickListenerとlongclicklistenerをチェックしましたが、彼らが私が望むことをしていないようです。
ありがとうございました。
アンドロイドでは、
ユーザーがボタンを押してからそのボタンを離すまで、関数の呼び出しを繰り返すにはどうすればよいですか?
clickListenerとlongclicklistenerをチェックしましたが、彼らが私が望むことをしていないようです。
ありがとうございました。
あなたが使用することができますOnTouchListener
:
public class MainActivity extends Activity implements OnTouchListener
{
private Button button;
// ...
@Override
public void onCreate(Bundle savedInstanceState)
{
// ...
button = (Button) findViewById(R.id.button_id);
button.setOnTouchListener(this);
// ...
}
// ...
@Override
public boolean onTouch(View v, MotionEvent event)
{
/* get a reference to the button that is being touched */
Button b = (Button) v;
/* get the action of the touch event */
int action = event.getAction();
if(action == MotionEvent.ACTION_DOWN)
{
/*
A pressed gesture has started, the motion contains
the initial starting location.
*/
}
else if(action == MotionEvent.ACTION_UP)
{
/*
A pressed gesture has finished, the motion contains
the final release location as well as any intermediate
points since the last down or move event.
*/
}
else if(action == MotionEvent.ACTION_MOVE)
{
/*
A change has happened during a press gesture (between
ACTION_DOWN and ACTION_UP). The motion contains the
most recent point, as well as any intermediate points
since the last down or move event.
*/
}
else if(action == MotionEvent.ACTION_CANCEL)
{
/*
The current gesture has been aborted. You will not
receive any more points in it. You should treat this
as an up event, but not perform any action that you
normally would.
*/
}
}
}
OnTouchListenerを使用して、ユーザーが次のようにボタンを離すまで関数を呼び出します。
private OnTouchListener otl_conn = (OnTouchListener) new TouchListenerConn();
private Button bv = null;
bv = (Button) findViewById(R.id.xxxxbutton);
bv.setOnTouchListener(otl_conn);
class TouchListenerConn implements OnTouchListener
{
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
//call function here
break;
case MotionEvent.ACTION_UP:
//DO SOMETHING
xxxx....;
break;
}
return true;
}
}
私が正しければ: クリック: ユーザーは指を押して離しました。タッチ: ユーザーの指はまだデバイス上にあります。
onTouchListener を試してみてはいかがでしょうか。使ったことがない...