사용자 지정 어댑터가있는 ListView의 사용자 지정 행

스테판

항상 동일한 행을 만들기 위해 이전에 사용한 다음 어댑터를 만들었습니다. 나는 textviews와 imageviews의 생성을 제거했습니다.

내가 달성하고 싶은 것은 키에 따라 다른 행을 만드는 것입니다. 행에는 텍스트와 이미지가 포함될 수 있지만 다른 행에는 텍스트 만있을 수 있습니다. 어떻게 할 수 있습니까?

public class DetailsListAdapter extends ArrayAdapter<ArrayList<String>> {
    private Context context;
    private ArrayList<String> keys;

    public DetailsListAdapter(Context context, ArrayList<String> keys) {
        super(context,R.layout.details); 
        this.context = context;
        this.keys = keys;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View v = inflater.inflate(R.layout.details, null);      
        return v;
    }

    @Override
    public int getCount(){
        return keys.size();
    }
}
라구 난단

행에 대해 다른 레이아웃을 확장하려면 getViewItemType을 재정의해야합니다 getViewTypeCount.

링크에있는 비디오를 봐야합니다.

http://www.youtube.com/watch?v=wDBM6wVEO70

private static final int TYPE_ITEM1 = 0;
private static final int TYPE_ITEM2 = 1;
private static final int TYPE_ITEM3 = 2; 

그때

int type;
@Override
public int getItemViewType(int position) {

    if (position== 0){
        type = TYPE_ITEM1;
    } else if  (position == 1){
        type = TYPE_ITEM2;
    }
    else
    {
         type= TYPE_ITEM3 ;
    }
    return type;
}

 @Override
 public int getViewTypeCount() {
        return 3; 
 }
@Override  
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
LayoutInflater inflater = null;
int type = getItemViewType(position);
  // instead of if else you can use a case
   if (convertView == null) {
    if (type == TYPE_ITEM1 {
            //infalte layout of type1
           convertView = mInflater.inflate(R.layout.layouttype1, 
                         parent, false);
      }
    if (type == TYPE_ITEM2) {
            //infalte layout of type2
           convertView = mInflater.inflate(R.layout.layouttype2, 
                         parent, false);
    }  else {
            //infalte layout of normaltype
            convertView = mInflater.inflate(R.layout.layouttype3, 
                         parent, false);
 }
 ...// rest of the code
    return convertView;
} 

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

특정 행을 정렬하는 사용자 지정 어댑터가있는 Android ListView

분류에서Dev

Fragment에서 사용자 지정 어댑터가있는 ListView

분류에서Dev

ListView의 사용자 지정 행

분류에서Dev

사용자 지정 어댑터가있는 ListView : 일부 항목이 숨겨 짐

분류에서Dev

사용자 정의 어댑터가있는 ListView 내의 TextView가 업데이트되지 않습니다.

분류에서Dev

ContextMenu가 사용자 지정 어댑터를 사용하여 ListView에서 행을 제거하지 못함

분류에서Dev

notifyDataSetChanged가 작동하지 않는 사용자 정의 어댑터

분류에서Dev

사용자 지정 어댑터가있는 Android 사용자 지정 AutoCompleteTextView

분류에서Dev

사용자 지정 어댑터 또는 활동에서 ListView 행의 배경을 변경해야합니까?

분류에서Dev

사용자 지정 목록 어댑터를 사용하여 listView가 비어 있음을 표시하는 방법

분류에서Dev

사용자 지정 어댑터를 사용할 때 Android의 ListView에서 데이터를 가져 오는 방법

분류에서Dev

사용자 지정 ListView 어댑터의 NullPointerException

분류에서Dev

사용자 지정 어댑터가있는 ListView가 나타나지 않습니다.

분류에서Dev

사용자 지정 어댑터가있는 ListView가 나타나지 않습니다.

분류에서Dev

사용자 지정 어댑터가있는 Android ListView는 마지막 항목 만 표시합니다.

분류에서Dev

사용자가 사용자 정의 커서 어댑터를 사용하여 ListView에서 편집하기 전에 ListView에서 행 데이터 가져 오기

분류에서Dev

SherlockFragment에서 사용자 지정 어댑터가있는 ListView, 생성자가 정의되지 않음 (이를 전달할 수 없음)

분류에서Dev

사용자 지정 어댑터가 내 게시물의 데이터를 덮어 쓰는 ListView

분류에서Dev

사용자 지정 행이있는 ListView에서 InflaterException 발생

분류에서Dev

ListView 사용자 정의 어댑터가 imageView를 잃음

분류에서Dev

사용자 지정 ArrayAdapter setOnItemClickListener가있는 ListView가 실행되지 않음

분류에서Dev

사용자 정의 어댑터가있는 listview-다른 모든 항목 요소가 중복됩니다.

분류에서Dev

다중 라인 뷰가있는 사용자 정의 어댑터의 convertView

분류에서Dev

사용자 정의 어댑터가있는 alertdialog 목록보기에 아무것도 표시되지 않음

분류에서Dev

일반 클래스가있는 사용자 정의 Android 어댑터

분류에서Dev

섹션 헤더를 포함하는 사용자 지정 목록 어댑터를 사용하여 ListView의 사용자 지정 필터링

분류에서Dev

사용자 정의 어댑터를 사용하여 Listview가 표시되지 않음

분류에서Dev

SearchView 및 사용자 지정 어댑터로 ListView 필터링

분류에서Dev

이미지 및 텍스트가있는 사용자 지정 어댑터

Related 관련 기사

  1. 1

    특정 행을 정렬하는 사용자 지정 어댑터가있는 Android ListView

  2. 2

    Fragment에서 사용자 지정 어댑터가있는 ListView

  3. 3

    ListView의 사용자 지정 행

  4. 4

    사용자 지정 어댑터가있는 ListView : 일부 항목이 숨겨 짐

  5. 5

    사용자 정의 어댑터가있는 ListView 내의 TextView가 업데이트되지 않습니다.

  6. 6

    ContextMenu가 사용자 지정 어댑터를 사용하여 ListView에서 행을 제거하지 못함

  7. 7

    notifyDataSetChanged가 작동하지 않는 사용자 정의 어댑터

  8. 8

    사용자 지정 어댑터가있는 Android 사용자 지정 AutoCompleteTextView

  9. 9

    사용자 지정 어댑터 또는 활동에서 ListView 행의 배경을 변경해야합니까?

  10. 10

    사용자 지정 목록 어댑터를 사용하여 listView가 비어 있음을 표시하는 방법

  11. 11

    사용자 지정 어댑터를 사용할 때 Android의 ListView에서 데이터를 가져 오는 방법

  12. 12

    사용자 지정 ListView 어댑터의 NullPointerException

  13. 13

    사용자 지정 어댑터가있는 ListView가 나타나지 않습니다.

  14. 14

    사용자 지정 어댑터가있는 ListView가 나타나지 않습니다.

  15. 15

    사용자 지정 어댑터가있는 Android ListView는 마지막 항목 만 표시합니다.

  16. 16

    사용자가 사용자 정의 커서 어댑터를 사용하여 ListView에서 편집하기 전에 ListView에서 행 데이터 가져 오기

  17. 17

    SherlockFragment에서 사용자 지정 어댑터가있는 ListView, 생성자가 정의되지 않음 (이를 전달할 수 없음)

  18. 18

    사용자 지정 어댑터가 내 게시물의 데이터를 덮어 쓰는 ListView

  19. 19

    사용자 지정 행이있는 ListView에서 InflaterException 발생

  20. 20

    ListView 사용자 정의 어댑터가 imageView를 잃음

  21. 21

    사용자 지정 ArrayAdapter setOnItemClickListener가있는 ListView가 실행되지 않음

  22. 22

    사용자 정의 어댑터가있는 listview-다른 모든 항목 요소가 중복됩니다.

  23. 23

    다중 라인 뷰가있는 사용자 정의 어댑터의 convertView

  24. 24

    사용자 정의 어댑터가있는 alertdialog 목록보기에 아무것도 표시되지 않음

  25. 25

    일반 클래스가있는 사용자 정의 Android 어댑터

  26. 26

    섹션 헤더를 포함하는 사용자 지정 목록 어댑터를 사용하여 ListView의 사용자 지정 필터링

  27. 27

    사용자 정의 어댑터를 사용하여 Listview가 표시되지 않음

  28. 28

    SearchView 및 사용자 지정 어댑터로 ListView 필터링

  29. 29

    이미지 및 텍스트가있는 사용자 지정 어댑터

뜨겁다태그

보관