使用以下代码:
MainActivity.java
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); ArrayList<HashMap<String, String>> itemsList = new ArrayList<HashMap<String, String>>(); ListView listView = (ListView) findViewById(R.id.listView); for (int i = 0; i < 5; i++) { // creating new HashMap HashMap<String, String> map = new HashMap<String, String>(); // adding each child node to HashMap key => value map.put("key1", "value1"); map.put("key2", "value2"); // adding HashList to ArrayList itemsList.add(map); } ListAdapter listAdapter = new ListAdapter(this, itemsList); listView.setAdapter(listAdapter);}
list_row.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"><ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:src="@drawable/ic_launcher" /><ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/progressBar" android:layout_toEndOf="@+id/imageView" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /></RelativeLayout>
ListAdapter.java
@Overridepublic View getView(int position, View convertView, ViewGroup parent) { View vi = convertView; if (convertView == null) vi = inflater.inflate(R.layout.list_row, null); ImageView imageView = (ImageView) vi.findViewById(R.id.imageView); final ProgressBar progressBar = (ProgressBar) vi.findViewById(R.id.progressBar); //This line shows progressBar again for recycled view progressBar.setVisibility(View.VISIBLE); Picasso.with(activity.getApplicationContext()).load(imagePath).resize(100, 100) .into(imageView, new Callback() { @Override public void onSuccess() { progressBar.setVisibility(View.GONE); } @Override public void onError() { //error } }); return vi;}
别忘了为Picasso Callback添加导入
import com.squareup.picasso.Callback;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)