实际上我尝试过以下方法:
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;
}
那么,我想动态更改ListView
的用户界面吗?
答案 0 :(得分:1)
自动调用getview。
您的观点将自动刷新
在您的代码中添加else条件,如果条件为false,则设置复选框的状态
if(checkbox_visable)
cb.setVisibility(View.INVISIBLE);
else
//what you want the state of the checkbox to be
我认为这会奏效。
答案 1 :(得分: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);
}
希望这会有所帮助