Gần đây tôi đã làm điều này. Giả sử tôi muốn ẩn một nút trên một listItem. Sau đó, trong getView của bộ điều hợp danh sách thêm nút đó trong một vector toàn cầu. như dưới đây.
Button del_btn = viewCache.getFrame();
view_vec.add(del_btn);
Đây viewCache là một đối tượng của lớp ViewCache, được sumthing như dưới đây -
class ViewCache
{
private View baseView;
private Button button;
public ViewCache(View baseView)
{
this.baseView = baseView;
}
public Button getButton() {
if(button == null) {
button = (Button) baseView.findViewById(R.id.DeleteChatFrndBtn);
}
return button;
}
}
//it is necessary sometimes because otherwise in some cases the list scroll is slow.
Bây giờ bạn muốn nút hữu hình của listItem onClicking một số nút khác. Sau đó, mã này là như dưới đây -
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()) {
case R.id.EditChatFrndBtn:
length = view_vec.size();
for(int i = 0; i < length; i++) {
Button btn = (Button) view_vec.elementAt(i);
btn.setVisibility(View.VISIBLE);
}
doneBtn.setVisibility(View.VISIBLE);
editBtn.setVisibility(View.INVISIBLE);
break;
}
}
Thay vì R.id.EditChatFrndBtn đặt nút id của bạn trên nhấp trong đó bạn sẽ/invisible button hữu hình của listItem.
Xin chào, tôi cần hiển thị các nút trên mỗi mục danh sách khi nhấp vào nút khác, trong tiêu đề của tôi. Bạn có thể giải thích vectơ xem này mà bạn đã sử dụng và getFrame() có tác dụng gì không? – Nitish
Xem bạn phải theo dõi tất cả các nút (lượt xem) tại thời điểm tạo. Otw sau đó bạn không thể truy cập mỗi lần xem nút danh sách một cách riêng biệt. Khi mọi chế độ xem nút được tạo, tôi chèn nó vào chế độ xem vector.Điều này sẽ theo dõi tất cả các nút xem mục danh sách. – Debarati
OK và Viewcache là chủ sở hữu cho chế độ xem trong bộ điều hợp. Tôi có đúng không? – Nitish