gpt4 book ai didi

android - 我正在获取 listView.getChildCount(),设置 arrayadapter 后是否为 0?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:24:30 25 4
gpt4 key购买 nike

我想从 facebook 加载图像并填充到 ListView 中,我能够获取 friend 列表和他们的信息,但我想设置图像我正在获取 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++) {
////
}

}

最佳答案

ListView 尚未绘制,因此它没有任何子项。不幸的是,没有回调,如 onResume(),用于绘制 View 时,但您可以使用 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);
}
});

您需要像fbUserArrayList 一样使listView 成为一个字段变量。现在 setFbUsersImage() 将在 ListView 有子项时运行。

总而言之,如果您尝试以任何方式修改行,适配器是执行此操作的最佳场所。

关于android - 我正在获取 listView.getChildCount(),设置 arrayadapter 后是否为 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13651226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com