使用removeFooterView()删除ListView页脚的问题

Bor*_*sky 3 android listview footer adapter wrapper

我试图删除我设置的页脚使用我用来设置它的相同参考.然而,没有任何反应.

protected void onPostExecute(ArrayList<Recipe> result) {

        int CHEF_ID = ChefsRecipeList.this.getIntent().getIntExtra("CHEF_ID", 0);

        ListView recipeListView = (ListView)findViewById(android.R.id.list);

        View footer = getLayoutInflater().inflate(R.layout.chef_recipe_list_footer, null);


        if(!addToExisting){

            RecipeManager.getInstance().setRecipeList(result);

            View header = getLayoutInflater().inflate(R.layout.chef_recipe_list_header, null);

            ImageView loadButton = (ImageView)footer.findViewById(R.id.loadmore);

            loadButton.setOnClickListener( new OnClickListener() {

                @Override
                public void onClick(View v) {

                    int CHEF_ID = ChefsRecipeList.this.getIntent().getIntExtra("CHEF_ID", 0);

                    try {

                        Log.d("NXTLAOD", "http://api.foodnetworkasia.com/api/mobile/get_recipes?chefId="+ChefManager.getInstance().getChef(CHEF_ID).getId()+
                        "&format=xml&startIndex="+(RecipeManager.getInstance().getRecipeList().size()+1)+"&endIndex="+(RecipeManager.getInstance().getRecipeList().size()+24));
                        new XMLRecipesParser(true).execute(new URL[] { new URL("http://api.foodnetworkasia.com/api/mobile/get_recipes?chefId="+ChefManager.getInstance().getChef(CHEF_ID).getId()+
                        "&format=xml&startIndex="+RecipeManager.getInstance().getRecipeList().size()+"&endIndex="+(RecipeManager.getInstance().getRecipeList().size()+24))  }  );

                    } catch (MalformedURLException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                }
            });

            ImageView chefPhoto = (ImageView)header.findViewById(R.id.chef_photo);

            chefPhoto.setImageBitmap(ImageURLLoader.LoadImageFromURL(ChefManager.getInstance().getChef(CHEF_ID).getLargeURL()));

            TextView chefBio = (TextView)header.findViewById(R.id.chef_bio);

            chefBio.setText(ChefManager.getInstance().getChef(CHEF_ID).getDescription());


            recipeListView.addHeaderView(header);
            recipeListView.addFooterView(footer);

            recipeListView.setAdapter(new RecipeAdapter(ChefsRecipeList.this));

        }else{

            RecipeManager.getInstance().mergeLists(result);

            RecipeAdapter wrapperAdapter=(RecipeAdapter) ((HeaderViewListAdapter)recipeListView.getAdapter()).getWrappedAdapter();


            wrapperAdapter.notifyDataSetChanged();



        }

        if(totalRecipes == RecipeManager.getInstance().getRecipeList().size()){ 

            recipeListView.removeFooterView(footer);
            Log.d("FOODREM", "Footer Removed");

        }

        Log.d("ITCOUNT", totalRecipes+"-"+RecipeManager.getInstance().getRecipeList().size());
        updateItemscount();

    }

}
Run Code Online (Sandbox Code Playgroud)

A. *_*iri 7

您可能需要调用listView1.setAdapter(adapter)刷新列表视图.如果这不起作用,另一种解决方案是将页脚视图的高度设置为0px.如果您计划稍后再次使用页脚视图,这是一个更好的解决方案.