Tôi muốn rằng một hoạt động mới nên bắt đầu với một số chậm trễ khi nhấn nút. Có thể thực hiện điều đó hay không, và làm như thế nào.Làm thế nào để bắt đầu một hoạt động khác với một số độ trễ sau khi nhấn một nút trong Android?
Trả lời
Bạn có thể gọi một Runnable bằng phương thức Handler postDelayed().
Dưới đây là một ví dụ (http://developer.android.com/resources/articles/timed-ui-updates.html):
private Handler mHandler = new Handler();
...
OnClickListener mStartListener = new OnClickListener() {
public void onClick(View v) {
mHandler.postDelayed(mUpdateTimeTask, 100);
}
};
private Runnable mUpdateTimeTask = new Runnable() {
public void run() {
// do what you need to do here after the delay
}
};
Props để @mad để nhận nó ngay lần đầu tiên xung quanh .
Bạn có thể sử dụng phương pháp postDelayed(Runnable action, long delayMillis)
của số View
để thêm Runnable
vào hàng đợi thư được chạy sau một khoảng trễ (gần đúng).
Điều này sẽ cho phép hành vi mong muốn của bạn mà không chặn chuỗi giao diện người dùng. –
Sử dụng cuộc gọi postDelayed() với một runnable khởi chạy hoạt động của bạn. Mã ví dụ có thể là
//will care for all posts
Handler mHandler = new Handler();
//the button's onclick method
onClick(...)
{
mHandler.postDelayed(mLaunchTask,MYDELAYTIME);
}
//will launch the activity
private Runnable mLaunchTask = new Runnable() {
public void run() {
Intent i = new Intent(getApplicationContext(),MYACTIVITY.CLASS);
startActivity(i);
}
};
Lưu ý rằng điều này cho phép giao diện vẫn hoạt động. Sau đó, bạn nên cẩn thận khi xóa trình nghe onclick khỏi nút của mình.
Sử dụng này đang
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
final Intent mainIntent = new Intent(CurrentActivity.this, SecondActivity.class);
LaunchActivity.this.startActivity(mainIntent);
LaunchActivity.this.finish();
}
}, 4000);
Đôi khi, u cần phải làm điều đó bất cứ khi nào quá trình ứng dụng của bạn bị giết hay không. Trong trường hợp đó bạn không thể sử dụng xử lý runnable hoặc tin nhắn bên trong quá trình của bạn. Trong trường hợp này, bạn chỉ có thể sử dụng AlarmManager cho điều này. Hy vọng ví dụ này giúp ai:
Intent intent = new Intent();
...
PendingIntent pendingIntent = PendingIntent.getActivity(<your context>, 0, intent, PendingIntent.FLAG_ONE_SHOT);
AlarmManager mgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
mgr.set(AlarmManager.RTC, <your delay>, pendingIntent);
runOnUiThread(new Runnable() {
@Override
public void run() {
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
}
}, 4000);
}
});
thử đoạn mã này
new Timer().schedule(new TimerTask() {
@Override
public void run() {
// run AsyncTask here.
}
}, 3000);
- 1. bắt đầu một hoạt động mới trong onCreate chỉ hoạt động với độ trễ
- 2. Làm thế nào để bắt đầu một hoạt động Android từ một ứng dụng Unity?
- 3. Bắt đầu hoạt động khi một phím được nhấn
- 4. Bắt đầu hoạt động với nút Android
- 5. Làm cách nào để vẽ một đường thẳng đứng trong một Hoạt động khi nhấn một nút?
- 6. Android: Bắt đầu một hoạt động cho một ứng dụng bên thứ ba khác nhau
- 7. Làm thế nào để xóa tiện ích Entry sau khi nhấn một nút trong Tkinter?
- 8. Làm thế nào để bắt đầu một hoạt động được xác định trong gói khác nhau từ một widget?
- 9. Làm thế nào để làm điều gì đó nhiều lần trong khi nhấn một nút?
- 10. Bắt đầu một hoạt động từ PreferenceScreen
- 11. Bắt đầu một Hoạt động khác trong FrameLayout của TabActivity
- 12. Làm một hoạt động chỉ xuất hiện một lần, khi ứng dụng được bắt đầu
- 13. android cách đặt một hộp thoại sau khi nhấn một nút quay lại
- 14. Làm thế nào để bắt đầu một kịch bản shell trong một phút sau trong linux?
- 15. Làm thế nào để trì hoãn việc gọi một hoạt động từ một hoạt động khác?
- 16. Điều gì sẽ xảy ra khi hoạt động trên Android bắt đầu hoạt động khác
- 17. Làm thế nào để bạn xây dựng một ngăn xếp Android trở lại khi một hoạt động được bắt đầu trực tiếp từ một thông báo?
- 18. Làm thế nào để dừng tkinter sau khi hoạt động?
- 19. Cách kết thúc Hoạt động khi bắt đầu hoạt động khác trong Android?
- 20. Bắt đầu một AnimationDrawable trong Android
- 21. Làm thế nào để biết khi nào nút quay lại được nhấn trong một UINavigationControllerStack
- 22. Làm thế nào để từ chối tắt máy khi nhấn nút nguồn trong một thời gian?
- 23. Xóa nhiệm vụ và bắt đầu một hoạt động mới
- 24. Làm cách nào để bắt đầu hai hoạt ảnh cùng một lúc trong Android?
- 25. Làm thế nào để bắt đầu tmux với một số cửa sổ trong các thư mục khác nhau?
- 26. xóa độ trễ nhấn phím trong javascript
- 27. Làm cách nào để kích hoạt một hành động khi người dùng nhấn enter?
- 28. Làm thế nào để làm cho một nút hoạt động như một liên kết trong ERB?
- 29. Làm cách nào để xóa ngăn xếp lịch sử hoạt động khi nhấn nút home?
- 30. Làm thế nào để giữ một cảnh báo mở sau khi nút onclick được kích hoạt?
tâm nếu tôi hỏi tại sao bạn cảm thấy bạn cần sự chậm trễ? Tôi nhận thấy điều này được viết trong một dự án cũ cho công việc, tôi không chắc chắn lý do tại sao họ đã chọn để làm điều này. – AdamMc331