2016-06-26 4 views
0

서버에서 얻은 마다 "x"초마다 업데이트 될 ImageView가 있습니다.ImageView가 업데이트되지 않습니다.

이미지를 처음 업데이트하면 올바르게 변경됩니다.

하지만 다음 이미지는 더 이상 업데이트되지 않았습니다.

첫 번째 이미지가 메모리에 저장 되었습니까? 삭제하고 싶습니까?

코드 : 당신은 배경 우선 순위와 스레드에 업데이트를하고있는

public View getView(int position, View convertView, ViewGroup parent) { 
    ViewHolder holder; 
     if(convertView ==null) 
     { 
      convertView = mInflater.inflate(R.layout.onlinelist,parent,false); 
      holder = new ViewHolder(); 
      holder.tv = (TextView) convertView.findViewById(R.id.textView1); 
      holderProfile = (ImageView) convertView.findViewById(R.id.usernameProfile); 
      convertView.setTag(holder); 
     } 
     else 
     { 
      holder = (ViewHolder) convertView.getTag(); 
     } 
     holder.tv.setText(usersInRange.get(position)); 
    String[] split = usersInRange.get(position).split(" "); 
    final String firstSubString = split[0]; 
    AsyncHttpClient client = new AsyncHttpClient(); 
    client.get("xxxxxxxxx.com/uploads/" + firstSubString + ".jpeg", null, new AsyncHttpResponseHandler() { 
      @Override 
      public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { 
        final Bitmap image = BitmapFactory.decodeByteArray(responseBody, 0, responseBody.length); 
        holderProfile.setImageBitmap(image); 
        holderProfile.invalidate(); 


      } 
      @Override 
      public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { 

      } 

    }); 

    return convertView; 
} 
+0

당신은 당신이 이미지 뷰 코드를 업데이트 공유 할 수 있습니다 ...... 당신은 후에이 기능을 호출하는 경우 약간의 시간 –

+0

그는 listview에있다, 나는 요청을 업데이트한다. 업데이트 listview에 대한 –

+0

내가 전화 notifyDataSetChanged(); –

답변

0

....

당신은 메인 스레드

변경이 라인에서 실행해야 할 것

: 이에

holderProfile.setImageBitmap(image); 

:

,
runOnUiThread(new Runnable() { 
     @Override public void run() { 
      holderProfile.setImageBitmap(image); 
     } 
}); 
0

이미지 설정 후 imageView의 invalidate()를 시도해보십시오.

+0

작동하지 않습니다. 무엇을 무효화합니까? –

0

notifyDataSetChanged(); 어댑터에서 UU 이미지를 업데이트 한 후.

관련 문제