我想从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++) {
////
}
}
Run Code Online (Sandbox Code Playgroud)
Sam*_*Sam 20
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);
}
});
Run Code Online (Sandbox Code Playgroud)
你需要创建listView一个字段变量fbUserArrayList.现在setFbUsersImage()将在ListView有子项时运行.
总而言之,如果您尝试以任何方式修改行,那么适配器是执行此操作的最佳位置.
| 归档时间: |
|
| 查看次数: |
4234 次 |
| 最近记录: |