Tôi có thể nhấp vào một nút theo cách lập trình cho mục đích xác định trước không?


103

Tôi cần nhấp vào nút của ý định ACTION_SEND. Ở đây không cần hiển thị giao diện người dùng. Tôi có thể nhận được nhấp vào nút "Gửi" từ Trình cung cấp MMS-SMSP trong Android không?

Câu trả lời:


241

Bạn có thể nhấp vào một nút theo chương trình bằng cách sử dụng button.performClick()phương pháp này.


46

Nếu nút của bạn bao gồm bất kỳ hoạt ảnh nào, bạn sẽ cần thực hiện nhấp chuột và sau đó vô hiệu hóa từng bước sau khi thực hiện nhấp chuột. Đây là cách thực hiện:

 button.performClick();
 button.setPressed(true); 
 button.invalidate(); 
 button.setPressed(false); 
 button.invalidate(); 

Đôi khi, tôi cũng phải giới thiệu độ trễ để hiển thị hoạt ảnh. Như thế này:

 //initiate the button
 button.performClick();
 button.setPressed(true); 
 button.invalidate(); 
 // delay completion till animation completes
 button.postDelayed(new Runnable() {  //delay button 
     public void run() {  
        button.setPressed(false); 
        button.invalidate();
        //any other associated action
     }
 }, 800);  // .8secs delay time

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.