트위터의 데이터 목록보기가 있습니다. 나는 트위트를 보여주고 싶지만 모든 트위트 아이템에 사용자를 보여 주었다. 그래서 나는 다른 사용자들을 위해 기본 그림을 보여주고 싶다. 내 코드는 작동하지만 listview를 움직이면 사용자 프로필 이미지가 모든 사용자에게 다시 표시됩니다. 어떻게 해결할 수 있습니까? 코드 "rt"에서 리트 윗이면?android listview moving changes
protected void onPostExecute(String result) {
super.onPostExecute(result);
if (null != pDialog && pDialog.isShowing()) {
pDialog.dismiss();
}
if (null == result || result.length() == 0) {
showToast("Bağlantı yok");
Twitter.this.finish();
} else {
List<String> galleryImages = new ArrayList<String>();
try { JSONObject jsonObject = new JSONObject(result);
veriArray = jsonObject.getJSONArray("results");
int nVeri = veriArray.length();
for (int i = 0; i < nVeri; i++) {
JSONObject veriObject = veriArray.getJSONObject(i);
baslik = veriObject.getString("text");
kImaj = veriObject.getString("profile_image_url");
kisaAciklama = veriObject.getString("from_user_name");
Item objItem = new Item();
rt=baslik.substring(0, 2);
if(rt.equals(kiyas)){
kImaj="";
objItem.setLink(kImaj);
objItem.setName(baslik);}
else {
objItem.setLink(kImaj);
objItem.setName(baslik);
}
arrayOfList.add(objItem);
//objItem.setLink(link);
}
} catch (JSONException e)
{ e.printStackTrace(); } }
Collections.sort(arrayOfList, new Comparator<Item>() {
public int compare(Item lhs, Item rhs) {
return (lhs.getAge() - rhs.getAge());
}
});
setAdapterToListview();
}
}
내 어댑터
public class KampanyaRowAdapter extends ArrayAdapter<Item> {
private Activity activity;
private List<Item> items;
private Item objBean;
private int twitterrow;
private ImageLoader imageLoader;
public KampanyaRowAdapter(Activity act, int resource, List<Item> arrayList) {
super(act, resource, arrayList);
this.activity = act;
this.twitterrow = resource;
this.items = arrayList;
imageLoader = new ImageLoader(act);
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View view = convertView;
ViewHolder holder;
if (view == null) {
LayoutInflater inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(twitterrow, null);
holder = new ViewHolder();
view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
if ((items == null) || ((position + 1) > items.size()))
return view;
objBean = items.get(position);
holder.tvName = (TextView) view.findViewById(R.id.tvname);
holder.tvCity = (TextView) view.findViewById(R.id.tvcity);
holder.imgView = (ImageView) view.findViewById(R.id.image);
if (holder.tvName != null && null != objBean.getName()
&& objBean.getName().trim().length() > 0) {
holder.tvName.setText(Html.fromHtml(objBean.getName()));
}
if (holder.tvCity != null && null != objBean.getCity()
&& objBean.getCity().trim().length() > 0) {
holder.tvCity.setText(Html.fromHtml(objBean.getCity()));
}
if (holder.imgView != null) {
if (null != objBean.getLink()
&& objBean.getLink().trim().length() > 0) {
imageLoader.DisplayImage(objBean.getLink(), activity,
holder.imgView);
} else {
}
}
return view;
}
public class ViewHolder {
public TextView tvName, tvCity, tvBDate, tvGender, tvAge;
private ImageView imgView;
}
}
서버의 listview에서 이미지를 지연로드합니다. http://stackoverflow.com/questions/541966/how-do-i-do-a-lagy-load-of-images-in-listview this에 대한 이동 –
어쨌든 나는 구문 분석 후 listview를 잠글 수 있습니다.? – slhgndz