2014-07-17 5 views
0

저는 이제 xamarin.android를 사용하여 프로젝트에 착수했습니다. 나는 listview 내부에있는 화면과 Imageview에 SimpleAdapter를 사용하여 컬렉션 내부의 데이터를 표시했다. 아래 데이터 수집을 추출하는 기능입니다 :Xamarin의 ListView에서 이미지를 ImageView로 설정하는 방법은 무엇입니까?

private JavaList<IDictionary<string, Object>> TriggerNetResAndFill() 
    { 

     string uri = "http://www.51yam.com/forum.php?mod=recommend"; 
     string content = string.Empty; 
     var items = new JavaList<IDictionary<string, Object>>(); 
     var stream = streamPicker.GetUriStream(uri); 
     content = streamPicker.GetStreamText(stream); 

     HtmlDocument document = new HtmlDocument(); 
     document.LoadHtml(content); 

     HtmlNodeCollection keyNodes = document.DocumentNode.SelectNodes("//a[@class='xst']"); 
     foreach (HtmlNode keyNode in keyNodes) 
     { 
      var map = new JavaDictionary<string, Object>(); 
      map.Add(KEY_ICON, userInfoPicker.GetU()); 
      items.Add(map); 
     } 

     return items; 
    } 

userInfoPicker.GetU() 함수는주고의 URL에서 JPEG 자원을 얻고 다시 스트림을 반환하려고하는 기능입니다 :

public Bitmap GetU() 
    { 

     var stream = streamPicker.GetUriStream(iconU); 
     Bitmap usericon = BitmapFactory.DecodeStream(stream); 
     return usericon; 
    } 

을 다음에 주 활동, 나는 물건 아래에 :

그러나 그 결과, 나는 예상대로 이미지를 얻지 못했다. 아무에게도 이것에 대한 조언을 해줄 수 있습니까? 나는 xamarin과 android에 익숙하지 않다, 나는 단지 C# 어이다. 당신의 충고를 기대하십시오. 고마워.

답변

0

당신이 당신의 ViewHolder을 구현하는 방법을 잘 모르겠지만, 일반적으로 당신은 단지에서 당신의 ListViewViewHolder 및 내부 InitializeView을 설정해야합니다 당신의 ViewHolder 당신이 어떤 원하는 경우에 당신은

image = rootView.FindViewById<ImageView>(Resource.Id.listViewImage); 
image.SetImageBitmap(yourMap[desiredKey]); 

처럼 뭔가를 할 수 ImageView를 지우는 이유는 다음과 같습니다.

image.SetImageBitmap(null); 

비트 맵이 설정되지 않은 경우로드되지 않는 이유를 설명 할 수 있습니다.

관련 문제