PDA

View Full Version : مدیریت ویبره



capitan_nemesis
شنبه 30 اردیبهشت 1396, 23:32 عصر
با سلام
کد ویبره رو رو دکمه نوشتم و تا 5 ثانیه ویبره میخوره مشکلی نداره
اما من میخوام بگم که اگر من زیر 5 ثانیه دستم رو از رو دکمه برداشتم ویبره قطع بشه و یک تست ( ارور ) نمایش بده
در غیر اینصورت به صفحه ی بعد برو .
هرکار میکنم نمیشه
هم از onLongClickListener
و هم از onClickListener
استفاده کردم نشد
لطفا راهنمایی کنین ممنونم.


dokme.setOnLongClickListener(new View.OnLongClickListener()
{
@Override
public boolean onLongClick(View v)
{
Vibrator vibrator = (Vibrator) getSystemService(MainActivity.VIBRATOR_SERVICE);
final long milliseconds = 5000;
vibrator.vibrate(milliseconds);
run = new Runnable()
{
@Override
public void run()
{
int random = (int) (Math.random() * natije.length);
result.setText(natije[random]);

if(milliseconds == 5000 || milliseconds > 5000)
{
startActivity(new Intent(MainActivity.this , Next.class));
}
if (milliseconds < 5000)
{
Toast.makeText(MainActivity.this , "Error" , Toast.LENGTH_SHORT).show();
}
}
};
Handler handler = new Handler();
handler.postDelayed(run , 7000);
return false;
}});

بهزاد اندیشمند
یک شنبه 31 اردیبهشت 1396, 11:58 صبح
برای اینکه وقتی دکمه نگه داشته داشته شده یه عملی مرتب انجام بشه باید از setOnTouchListener استفاده کنید که به اینصورت هست:



Button btn1 = (Button) findViewById(R.id.button);

btn1.setOnTouchListener(new View.OnTouchListener() {



@Override public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
// دکمه نگه داشته شده



return true;
case MotionEvent.ACTION_UP:

//دکمه رها شده

return true;
}
return false;
}


});