我有一个ListView
。当我点击列表视图的按钮时,将在main.xml
中创建一个按钮,我在自定义列表视图适配器中有按钮onclicklistener
。我在sqlite中保存了那个按钮的点击,并且通过那个sqlite我正在更新gridview适配器。如何刷新我的gridView?
所以我的问题是,当我点击按钮,GridView
没有更新自己,当我关闭应用程序,并再次打开它得到更新。
我尝试使用notifydatasetchanged()
但没有工作..
这是自定义列表视图适配器
holder.checkbox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = holder.tvName.getText().toString();
String image = holder.tvimageurl.getText().toString();
DatabaseHandler db = new DatabaseHandler(activity);
db.addContact(new Contact(text, image));
db.close();
的代码,这在主要活动
GridView listView = (GridView) findViewById(R.id.gridview1);
imgAdapter = new ImageAdapter(this);
listView.setAdapter(imgAdapter);
imgAdapter.notifyDataSetChanged();
ImageAdapter代码。
public class ImageAdapter extends BaseAdapter {
Activity activity;
List<Contact> item;
LayoutInflater inflater;
ImageAdapter imgAdapter;
private DisplayImageOptions options;
private DisplayImageOptions options2;
ImageLoader imageLoader;
private Contact objBean;
String getUrl,getId;
ObjectOutputStream oos;
FileOutputStream fos;
public ImageAdapter(Activity act) {
this.activity=act;
inflater = act.getLayoutInflater();
DatabaseHandler db = new DatabaseHandler(activity);
item = db.getAllContacts();
db.close();
}
@Override
public int getCount() {
return item.size();
}
@Override
public Contact getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final LinearLayout imageView;
if (convertView == null) {
imageView = (LinearLayout) inflater.inflate(R.layout.item_grid_image, parent, false);
} else {
imageView = (LinearLayout) convertView;
}
我做到了在不同的适配器用于GridView控件 – Saad 2013-05-01 10:13:07
适配器向我们展示ImageAdapter的代码。最重要的是,当你将数据添加到数据库时,不会向其添加数据。 – httpdispatch 2013-05-01 10:17:50
我更新了我的问题 – Saad 2013-05-01 10:22:56