Tôi bị ảnh hưởng bởi xử lý sự kiện lạ trong Android. Vấn đề của tôi là nếu người dùng nhấp chuột vào số Button
nhiều lần thì sự kiện đó sẽ được xếp hàng đợi và chuyển tiếp đến Activity
tiếp theo.Nhấp vào sự kiện được chuyển đến lần bắt đầu tiếp theo Hoạt động
Dưới đây là một ví dụ:
<Button
android:id="@+id/btn_home_show"
style="@style/main_buttons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/home_label_show" />
Activity
onClick
:
public void onClick(View view) {
int viewId = view.getId();
if (viewId == EXPECTED_VIEW_ID) {
Intent intent = new Intent(this, CarouselActivity.class);
startActivity(intent);
}
}
Trong tôi Activity
Tôi có một mục đó là thể nhấp cùng với cùng một tọa độ trên màn hình.
Điều gì xảy ra là nếu người dùng nhấp thực sự nhanh chóng trên Button
thì sự kiện nhấp chuột này được chuyển sang mới bắt đầu Activity
và xử lý onClick
khác xảy ra.
Tôi đã thử 2.3.3 & 2.3.5 khung phiên bản & hành vi là như nhau. Bất kỳ ý tưởng?
Đường nối này giống như một công việc xung quanh, nhưng theo cách này tôi phải làm điều đó trong mọi Hoạt động tôi bắt đầu và cho mỗi chế độ xem tôi tạo. Điều này có vẻ xấu ;-) Có thể có một cách để "thiết lập lại" hàng đợi vào hoạt động bắt đầu? –
Tôi không nghĩ rằng có một cách để thiết lập lại và không có điểm nếu đặt lại xảy ra trước khi nhấp chuột cuối cùng (tức là người dùng vẫn đang nhấp chuột như một moron), tôi sử dụng mã này nhưng tôi có nó lớp ứng dụng toàn cầu và số nguyên cho biết kiểu đầu vào là gì, cùng asynctask nhưng nó lấy trong số nguyên đại diện cho đầu vào, ví dụ như được ép lại và khóa loại đầu vào đó. Bạn có thể bảo vệ người dùng khỏi các nhấp chuột không cố ý như thế này, nếu họ đang nhấp chuột ngu ngốc thì bạn không thể làm gì để bảo vệ ứng dụng của mình khỏi hành động đạo đức của họ. – triggs
Sau đó khóa toàn bộ chế độ xem lưới. – triggs