问题描述
我用我的ArrayAdapter扩大getView方法。
我改变复选框,但ListView控件不刷新
我的源
@覆盖
公共查看getView(INT位置,查看convertView,父母的ViewGroup){ //星球显示
UrlItem urlItem =(UrlItem)this.getItem(位置);
ViewHolder viewHolder = NULL; 如果(convertView == NULL){ convertView = inflater.inflate(R.layout.database_table_item,NULL);
viewHolder =新ViewHolder();
viewHolder.checkbox =(复选框)convertView
.findViewById(R.id.checkBox1); viewHolder.checkbox
.setOnCheckedChangeListener(新CompoundButton.OnCheckedChangeListener(){ 公共无效onCheckedChanged(CompoundButton buttonView,
布尔器isChecked){ INT为getPosition =(整数)buttonView.getTag();
DatabaseTable.setPosition(为getPosition);
的for(int i = 0; I< UrlItems.size();我++){ UrlItems.get(ⅰ).setUse(假); } UrlItems.get(为getPosition).setUse(器isChecked);
}
});
我怎样才能刷新更改后的名单??
在清单中设置您的信息
<活动
机器人:DatabaseTableNAME =
机器人:标签=database_table机器人:windowSoftInputMode =adjustPan>
查看链接升级使用按钮全选我有相同的想法,但没有键全选
adapter.notifyDataSetChanged(); //通知您的数据已更新适配器
注意:如果您得到任何错误,与上面的线,你可以试试下面的code(其中mListView是我的ListView对象的名称)
((BaseAdapter)mListView.getAdapter())notifyDataSetChanged()。
另一种方式是,使得它重绘形式更新后的数据再次设置为无效列表
mListView =(ListView控件)findViewById(R.id.MyListView);
mListView.invalidate();
I use my ArrayAdapter expanded getView method.I change CheckBox but the ListView does not refresh
my source
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// Planet to display
UrlItem urlItem = (UrlItem) this.getItem(position);
ViewHolder viewHolder = null;
if (convertView == null) {
convertView = inflater.inflate(R.layout.database_table_item, null);
viewHolder = new ViewHolder();
viewHolder.checkbox = (CheckBox) convertView
.findViewById(R.id.checkBox1);
viewHolder.checkbox
.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
int getPosition = (Integer) buttonView.getTag();
DatabaseTable.setPosition(getPosition);
for (int i = 0; i < UrlItems.size(); i ++ ) {
UrlItems.get(i).setUse(false);
}
UrlItems.get(getPosition).setUse(isChecked);
}
});
How can I refresh the list after changes ??
for your information in the manifest set
<activity
android:name=".DatabaseTable"
android:label="database_table" android:windowSoftInputMode="adjustPan" >
See the link for the upgrade using the button "selectAll" I have exact same idea but without the button selectAll
adapter.notifyDataSetChanged(); // to notify the adapter that your data has been updated
Note: If you get any errors with the above line, you could try the following code (where mListView is the name of my ListView object)
((BaseAdapter) mListView.getAdapter()).notifyDataSetChanged();
Another way would be to invalidate the List so that it is redrawn form the updated data set once again.
mListView=(ListView) findViewById(R.id.MyListView);
mListView.invalidate();
这篇关于我怎样才能刷新更改后的名单?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!