ListView调用getView()后调用函数

时间:2013-01-27 06:49:56

标签: android android-inflate

有没有办法可以在调用getView方法后调用函数。例如,我希望能够根据它们的大小隐藏/显示各种小部件。为此,我需要能够在视图中查询窗口小部件的大小。

我的问题是覆盖的ArrayAdapter中的getView方法实际上并不会使视图膨胀,因此View中的小部件上的任何getWidth / getLeft / getHeight等调用都会返回0.我想知道,有没有办法调用之后的一个功能,直到视图被正确充气?或者可能是一个事件绑定可以实现,直到视图在视图中完全膨胀为止?

干杯

编辑:

public class GetDataTask extends
    AsyncTask<Context, Void, FriendListAdapter> {

    @Override
    protected void onPostExecute(FriendListAdapter result) {
    friendList.onRefreshComplete();
        friendList.getRefreshableView().setAdapter(result);

        friendList.getRefreshableView().setOnItemClickListener(itself);
        friendList.getRefreshableView().getChildCount();
    }

这段代码非常奇怪。适配器已设置,但getChildCount返回0,即使屏幕上显示的列表清楚地显示列表中的~15项内容。这个

2 个答案:

答案 0 :(得分:2)

public void onWindowFocusChanged(boolean hasFocus) {};

答案 1 :(得分:1)

如果问题只是获取物品的数量。你可以这个

friendlist.getRefreshableView.getCount()

请参阅here