2014-05-14 19 views
5

Tôi đã có một AutoCompleteTextView trong ứng dụng của mình và tôi đã được giao nhiệm vụ buộc thanh cuộn dọc luôn hiển thị nếu kết quả được truy xuất bằng văn bản được cho là đủ lớn để cuộn (tức là có nhiều kết quả hơn trong listview được tự động xử lý).Làm cách nào để buộc thanh cuộn dọc hiển thị nếu kết quả AutoCompleteTextView có thể cuộn?

Tôi đã thử thêm xml thuộc tính sau đây để các AutoCompleteTextView bản thân vô ích:

fadeScrollbars="false" 
scrollbarFadeDuration="0" 
scrollbarAlwaysDrawVertical="true" 

Tôi đang nghĩ nếu tôi bằng cách nào đó có thể có được một tham chiếu đến listview tạo ra tự động cho AutoCompleteTextView và áp dụng một hoặc nhiều hơn các thuộc tính trên cho nó mà tôi có thể buộc thanh cuộn luôn hiển thị nhưng tôi không có ý tưởng làm thế nào để có được một tham chiếu đến listview đó.

Cảm ơn

CẬP NHẬT

Trong Adaptor tôi đã tạo cho AutoCompleteTextView này, trong phương pháp ghi đè getView(), tôi có một tham chiếu đến xem cha mẹ. Tôi có thể đặt các thuộc tính ở trên một cách có lập trình trên phụ huynh và tôi nhận được chức năng mong muốn, nhược điểm là các thuộc tính đó được đặt mỗi khi getView được gọi là không hiệu quả nhất?

+0

Mọi thông tin cập nhật thêm về điều này? Tôi đang đối mặt với cùng một vấn đề, tôi có thể xác nhận giải pháp getView của bạn hoạt động. – chris

Trả lời

3

Tôi đã thử các kiểu nhưng chúng không hoạt động đúng cách, vì vậy cách mã hóa của bạn có vẻ như là khả năng duy nhất. Nhưng nhóm được cung cấp vào mọi thời điểm, vì vậy bạn chỉ có thể thêm boolean cho điều này:

public View getView(int position, View convertView, ViewGroup parent) { 
     //Change the list attr programmatically becuase sometimes Android sucks :/ 
     if (!_changedListAttr) { 
      _changedListAttr = true; 

      ListView list = (ListView) parent; 
      list.setBackgroundResource(R.color.color_white); 
      list.setVerticalScrollBarEnabled(false); 
      list.setDividerHeight(0); 
     } 
+0

Vấn đề với giải pháp này là nó chỉ hoạt động khi thả xuống (dd) xuất hiện lần đầu tiên. Khi bạn xóa các chữ cái và gõ nó một lần nữa, lần thứ hai nó không hoạt động nữa. Cách giải quyết khác là đặt boolean thành false khi bạn thêm các mục vào Adapter, nhưng thậm chí sau đó, nó chỉ hoạt động khi dd sẽ được xây dựng lại. Đây chỉ là trường hợp khi số lượng thư thấp hơn ngưỡng khiến cho đ xuất hiện. – Bevor

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