Giới thiệu
Nếu user nhấn nút nhiều lần nhanh, có thể tạo nhiều thread không mong muốn. Ví dụ dùng cờ boolean để ngăn chặn.
Bước 1-2: Project & Giao diện
EditText, Button, TextView.
Bước 3: MainActivity.java - dùng cờ boolean
package com.example.myapplication;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
EditText edit_query;
TextView textView;
boolean isRunning = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edit_query = findViewById(R.id.edit_query);
textView = findViewById(R.id.text);
findViewById(R.id.click).setOnClickListener(v -> {
if (isRunning) return; // Đang chạy, bỏ qua
runThread();
});
}
private void runThread() {
final String text = edit_query.getText().toString();
if (text.isEmpty()) return;
isRunning = true;
new Handler().postDelayed(() -> {
textView.setText(text);
isRunning = false; // Reset cờ sau khi xong
}, 5000);
}
}
Chạy ứng dụng
Nhấn nút nhiều lần liên tục: chỉ lần đầu có hiệu lực, sau 5 giây mới cho chạy lại.
