2014-07-06 3 views
1

itemListView 일 때 처음 발견되는 방법이 있습니까?ListView 항목 만 처음으로

처음으로 ListView 항목을 만든 경우에만 코드를 작성하고 목록을 한 번 재활용하면 코드가 실행되지 않아야합니다.

+0

당신이 코드를 게시 할 수 있습니까? – Typo

+0

'Adapter'에 코드가 필요합니다. 'ListView'에서 아이템이 생성 된 후 200ms 후에 이미지를로드하고 싶습니다. – Enve

답변

2

질문이 다소 모호합니다. 나는 당신이 의미 한 것으로 가정합니다 : "내 목록에 N 위치에 대해 처음으로보기 항목이 생성되었습니다".

class MyAdapter { 

    private HashMap<Integer, Integer> processedPositions = new HashMap<Integer, Integer>(); 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
      if (!processedPositions.containsKey(position)) { // < ------------------ 
        first time logic...... 
        processedPositions.put(position, position); // and mark as processed 
      else { 
        later times logic.... 
      } 
    } 
-1

목록 뷰를 만들고이 의사 코드를 사용하십시오.

if (listView.getcount == 0) 
    { 
     //code to execute 
    } 
+0

각 항목에 대해 코드를 한 번만 실행해야합니다. ListView에서 항목을 만든 후 200ms 이미지를로드하려고합니다. – Enve

+0

다음 문구를 올바르게 작성하십시오. – bubunyo

1

을 당신이 ListView에 항목을 작동하는 방법을 알고 있다고 가정하고 다음과 같이

은 무엇 당신이해야하는 것입니다. 항목은 convertView는 다음 방법에 null의 경우 목록에 의해 때마다 생성됩니다

public View getView(int position, View convertView, ViewGroup parent) { 

하지만 난 당신이 한 번만 각 항목에 대해 뭔가를 보여줄 필요가 있다고 생각합니다. 이 경우

는 정수의 목록을 작성하고, 같은 것을 할 수있다 :리스트 뷰를 만들 경우

public View getView(int position, View convertView, ViewGroup parent) { 
    ...... 
    if(listOfPositions.contains(position)){ 
     // we was here. 
     firstTimeVisibleView.setVisibility(View.GONE); 
    }else{ 
     //do what you want. 
     listOfPositions.add(position); 
     firstTimeVisibleView.setVisibility(View.VISIBLE); 
    } 
    ...... 
}