setVisibility GONE在Listview Android中不起作用

时间:2013-06-03 07:43:31

标签: android listview adapter visible

我的代码中出现问题... 我想setVisibility从自定义列表视图中删除所有图像... 我试过但不行:(

这是我的代码......

@Override
    public void onResume() {
        super.onResume();

        DatabaseHandler database = new DatabaseHandler(getApplicationContext());
        List<Setting_App> isisetting_appListSqllite = database.getSettingApp("Hide Image");

        String hide_image;
        if(isisetting_appListSqllite.size()>0){
            Setting_App s = isisetting_appListSqllite.get(0);
            hide_image = s.getIsiSettingApp();              
        }
        else{
            hide_image="N";
        }

        int count_list_adapter=list.getAdapter().getCount()-2;
        if(adapter!=null){
        for(int i=2; i < count_list_adapter; i++){  

            ImageView thumb_image= (ImageView)list.getAdapter().getView(i, null, null).
                    findViewById(R.id.image_tulisan);

            if(hide_image.equals("Y")){
                thumb_image.setVisibility(View.GONE);   
            }

            else{
                thumb_image.setVisibility(View.VISIBLE);   

            }
            adapter.notifyDataSetChanged();
            }
    }
    }

如何解决? 谢谢你的支持......对不起我的英语...

1 个答案:

答案 0 :(得分:2)

适配器getView()不会返回屏幕上可见的视图。以这种方式调用会创建未在任何位置显示的新视图。

相反,请在适配器的getView()中实现隐藏的图像。要强制刷新列表视图,请致电notifyDataSetChanged()