Я получаю listView.getChildCount (), 0 после установки arrayadapter?

Я хочу загрузить изображения из facebook и заполнить в listview, я могу получить список друзей и их информацию, но я хочу установить изображение, я получаю getChildCount () 0, пожалуйста, помогите,

public static ArrayList<FBUser> fbUserArrayList; public static Drawable sharedDrawable; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.friends_list_view); this.setTitle("FB Friend List"); final ListView listView = (ListView) findViewById(R.id.listview); FriendListAdapter couponsListAdapter = new FriendListAdapter(this, fbUserArrayList); listView.setAdapter(couponsListAdapter); couponsListAdapter.notifyDataSetChanged(); setFbUsersImage(listView,fbUserArrayList); } private void setFbUsersImage(final ListView listView,final ArrayList<FBUser> fbUserArrayList) { // here am getting 0 ??? for (int i = 0; i < listView.getChildCount(); i++) { //// } } 

Solutions Collecting From Web of "Я получаю listView.getChildCount (), 0 после установки arrayadapter?"

ListView еще не нарисован, поэтому у него нет детей. К сожалению, нет обратного вызова, например onResume() , когда был создан вид, но вы можете использовать Runnable, чтобы делать то, что вы хотите.


прибавление
Давайте сделаем пару изменений в onCreate() :

 listView.setAdapter(couponsListAdapter); // Remove your calls to notifyDataSetChanged and setFbUsersImage // Add this Runnable listView.post(new Runnable() { @Override public void run() { setFbUsersImage(listView,fbUserArrayList); } }); 

Вам нужно сделать listView переменной поля так же, как fbUserArrayList . Теперь setFbUsersImage() будет запущен, если у ListView есть дочерние setFbUsersImage() .

Все сказанное, если вы пытаетесь каким-либо образом изменить строку, адаптер – лучшее место для этого.