안녕하세요. 나는 ListView
을 표시하는 안드로이드 응용 프로그램을 가지고 있습니다. 임의의 행을 클릭하면 다른 모든 행이 회색으로 표시됩니다. 나는 자신의 BaseAdapter
과 함께 ListView
커스텀을 사용하고 있으며 getView
함수에서 onclick 함수를 만들 수 있다는 것을 알고있다. 그러나 이렇게하면 기본 활동에있는 onItemClick
기능이 무효화되므로 가능한 내 기본 활동에서이 작업을 수행하려고합니다.Android - 선택된 항목을 제외한 모든 항목의 회색/회색/회색 변경
resultListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view,
int position, long id) {
// TODO Auto-generated method stub
resultListView.smoothScrollToPositionFromTop(position, 0);
resultListView.setClickable(false);
resultListView.setScrollContainer(false);
resultListView.setEnabled(false);
};
});
}
선택한 항목을 제외한 다른 모든 항목을 회색으로 할 수있는 방법이 있나요 : 여기
내가 내 onItemClick
기능을 만들어 어떻게? 알파를 낮추거나 낮추더라도 도움이 될 것입니다. 다른 목록 항목을 클릭 할 수 없다는 인상을 사용자에게주고 싶습니다. 나는 현재 힘든 시간을 알아 내고있다. 어떤 도움이라도 대단히 감사합니다. 감사합니다. 내가 수행하여 알파를 조정할 수 있어요
편집 :
resultListView.setAlpha((float) 0.5);
그러나, 전체 행에 영향을 미치는 내가 선택한 행의 알파를 조정할 수 없습니다입니다.
특정 항목이 선택되어 있는지 확인하고 부울 변수를 기반으로 배경색/알파를 변경하는 변수/부울을 저장하기 위해 사용자 지정 기본 어댑터에서 사용할 수 있음을 알고 있습니다. 그러나, 내 listview 한 번에 1 만 + 항목을 포함 할 수 있으며 대신 처리 시간을 많이 소비하는 것입니다 그래서 대신보기를 사용하여 리조트 싶었어요. – Razgriz
올바르게 (내가하지 않을 수도 있음) 호출 한 경우 getView() 볼 수없는보기에서 호출되지 않는 방식으로보기를 재활용합니다. – MeetTitan
죄송합니다. 귀하의 설명이 왜 필요한지 알 수 없습니다. 내가 원하는 것은 선택한 항목의 알파를 유지하면서 listView의 알파를 변경하는 것입니다. – Razgriz