ListView 및 어댑터에 대한 고품질 프로그래밍 학습
한 줄 한 줄의 스타일로 구성된 목록입니다.줄마다 똑같은 레이아웃이나 보기라고 하는데 보기 안에 데이터를 채우면 된다.ListView는 기본적으로 컨트롤입니다.
public class ListView extends AbsListView
public abstract class AbsListView extends AdapterView<ListAdapter>
implements TextWatcher,
ViewTreeObserver.OnGlobalLayoutListener,
Filter.FilterListener,
ViewTreeObserver.OnTouchModeChangeListener,
RemoteViewsAdapter.RemoteAdapterConnectionCallback
public abstract class AdapterView<T extends Adapter> extends ViewGroup
추상적인 AbsListView에 계승되고 AbsListView는 AdapterView에 계승되며 AdapterView는 ViewGroup에 계승된다. 이때 ViewGroup은 View에 계승된다는 것을 알게 되었다.그래서 본질적으로 ListView와 TextView, Button은 공통점이 있다.
- Adapter
어댑터, 보기의 존재에 데이터를 맞추고 해당 구성 요소에 데이터를 연결합니다.
- ListView 구현 단계
전시해야 할 데이터가 유난히 많을 때, 수천 수만!미끄러질 때 매우 끊겨 보이는데, 특히 성능이 매우 나쁜 일부 기계에서는 더욱 뚜렷하다.따라서 어댑터를 데이터 바인딩할 때 최적화해야 합니다.ListView의 모든 줄은 하나의 보기이기 때문에 표시할 때 바로 그립니다. 미끄러질 때 그립니다.다음과 같은 방법을 사용하는 경우
LayoutInflater layoutInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
convertView = layoutInflater.inflate(R.layout.list_item, null);
줄마다 표시되는 Layout을 직접 가져오고convertView에서 줄마다 Layout의 View, 예를 들어 ImageView, TextView 등을 찾은 다음에 텍스트와 그림을 설정하면 효율이 낮아서 비슷한 코드를 반복적으로 실행하는 코드가 하나도 없다.로드 효율성을 위해 일반적으로 사용되는 두 가지 최적화 방법은 다음과 같습니다.
일반적인 최적화 코드 어댑터 템플릿:
public class ListAdapter extends BaseAdapter {
// List
List
- ListView 클릭 이벤트의 두 가지 방법
convertView.setOnClickListener(...) //
viewHolder.imageView.setOnClickListener(...) // View
listView.setAdapter(new ListAdapter(stringList));
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { //
@Override
public void onItemClick(AdapterView> parent, View view, int position, long id) {
...
}
});
listView.setOnLongClickListener(new View.OnLongClickListener() { //
@Override
public boolean onLongClick(View v) {
...
return false;
}
});
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Rails】자신의 활동 일람을 표시한다【통지 기능의 응용】안녕하세요! 고양이 조카 ( )라고합니다. 요 전날, 처음부터 독학으로 공부하고, 웹 서비스 「 」를 시작했습니다. 이 서비스는 다음과 같은 알림 기능을 구현합니다. 이 기능을 응용하여 자신이 「좋아요, 코멘트, 팔...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.