2

其实我试过以下方法:

checkbox_visable=true;
fileList.notifyDataSetChanged();
listview.invalidate();

但它就是不记得我getview()为每一行指定的适配器方法:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    convertView=super.getView(position, convertView, parent);
    CheckBox cb=(CheckBox) convertView.findViewById(R.id.item_cb);
    if(checkbox_visable)
    cb.setVisibility(View.INVISIBLE);
    return convertView;
}

那么,我有什么想法可以动态更改 UIListView吗?

4

2 回答 2

1

当您向下滚动列表视图时,会自动调用 getview。

您的视图将自动刷新

在您的代码中放置一个 else 条件,如果条件为 false,它将设置复选框的状态

if(checkbox_visable)
            cb.setVisibility(View.INVISIBLE);
else
//what you want the state of the checkbox to be

我认为这会奏效。

于 2012-08-10T05:51:15.303 回答
0

好的,然后试试这个

listview.setAdapter(new FileList(this, R.layout.row, your data));

And in your FileList class make the construstor of your adapter like.  

public FileList(Context context, int textViewResourceId,   String[] objects) {
            super(context, textViewResourceId, objects);
        }

希望这会有所帮助

于 2012-08-10T04:01:54.857 回答