2011-12-07 13 views
5

Tôi không thể tìm thấy chủ đề, có lẽ ai đó có thể dạy tôi một số về hiệu ứng android khi topis là về onclicklistener cho các nút.Hiệu suất, công tắc Android hoặc trình nghe nhấp cho mỗi nút

Cho phép nói rằng tôi nhận được 10 nút trên một trang (chỉ là một ví dụ bây giờ) Điều tốt nhất để làm gì?

  1. Công tắc chuyển đổi id cho các nút?
  2. Một onClickListener cho mỗi nút?

Phương thức nào nhanh hơn và tại sao? Có khác biệt gì không?

Trả lời

1

Tôi sẽ ngạc nhiên nếu có bất kỳ sự khác biệt đáng kể nào. Tôi sẽ đi với # 2 vì tôi nghĩ rằng nó dẫn đến mã rõ ràng hơn.

3

Thực tiễn tốt nhất là đi với tùy chọn thứ nhất: Nút chuyển đổi id cho butttons.

Theo kinh nghiệm của tôi, tôi sẽ đề nghị bạn gán android: thuộc tính với cùng một giá trị onClick, nói ví dụ: android: onClick = "btnClicker"

Và bây giờ bạn có để thực hiện các phương pháp tương tự bên trong lớp hoạt động như:

public void btnClicker(View v) 
{ 
    switch(v.getId()) 
    { 
    case R.id.btn1: 
     break; 

    case R.id.btn2: 
     break; 

    case R.id.btn3: 
     break; 
    } 
} 

về lựa chọn thứ 2: tôi không thích nó vì nó làm tăng số dòng mã vì chỉ nghĩ rằng bạn đang có 10 nút và bạn gán nghe nhấp chuột riêng biệt cho mỗi nút. Và bây giờ so sánh nó với tùy chọn 1 ở trên, bạn sẽ nhận ra nó.

Vì vậy, tôi sẽ đề nghị bạn đi với tùy chọn 1 tôi đã đề xuất với ví dụ trên, lý do chính là nó giảm số dòng mã và khả năng đọc mã tốt hơn.

Tại sao có khả năng đọc tốt hơn trong tùy chọn thứ nhất tôi đã đề xuất ở trên?

Vì bạn biết bạn chỉ cần kiểm tra chức năng cụ thể này chỉ dành cho mã cho mọi nút, bởi vì mọi thứ đều ở đây bên trong một hàm.

0

Tôi nghĩ câu trả lời 1 là hiệu quả. vì tạo đối tượng sẽ làm chậm ứng dụng. và giới hạn RAM trong điện thoại di động cần được xem xét.

Các vấn đề liên quan