android 重新加载listview数据

文章标签: android,android-listview
2014-11-4 15:09:30     人阅读    

android 开发中我在main activity中防止了一个listView,用来展示从数据库中查询的数据,另外有一个按钮专门给listView添加行数据。
 
 每次点击按钮,都会通过Intent会弹出一个新activity,这个时候需要保持 main activity继续活动,不能被kill掉.

  新弹出的activity主要是用来录入数据,关闭后需要向 main activity的listview中添加数据,但是当我点击确认关闭后,发现listview的数据并没有变动。  可能是listview之前已经创建好,我现在想更新listview中的数据,但是不知道如何更新. 

 

我的代码如下:

Populating the ListView from DB
public void PopulateListView() {

// Closing the cursor
/
// DEPRICATED!!
s
startManagingCursor(cursor);



/
// Set up mapping from cursor to view fields

String[] fromFieldNames = new String[] { DBAdapter.KEY_ITEM_NAME,

BAdapter.KEY_ITEM_USER, DBAdapter.KEY_ITEM_IMG, DBAdapter.KEY_ITEM_DATE_ADDED, 

DBAdapter.KEY_ITEM_FAV };



i
int[] toViewIDs = new int[] { R.id.itemName, R.id.itemUser,

R.id.iconCopy, R.id.date, R.id.imgFav_M };



/
// Create adapter to map coloums of DB to elements on UI

myCursorAdapter = new SimpleCursorAdapter(
t
this, // Context

R.layout.item_layout, // Row layout template
c
cursor, // Cursor (set of DB records)
f
fromFieldNames, // DB coloum names
t
toViewIDs // views ID to putt in list view
)
);



/
// Set the adapter for list view
m
myList.setAdapter(myCursorAdapter);
}
}


Add new item activity
private void addItem() {



String get_name, get_username, get_pass, get_cat, get_note;



int imageID = imageIDs[random.nextInt(imageIDs.length)];



get_name = name.getText().toString();

get_username = username.getText().toString();

get_pass = pass.getText().toString();

get_cat = cat.getText().toString();

get_note = note.getText().toString();




if (get_name.equals("")) 
{
{
 
    Alert("Insert Name...");
}
} 

else if (get_username.equals(""))
{
{
 
     Alert("Insert Username...");
}
} 

else if (get_cat.equals(""))
{
{

myDb.insertRowInItems(get_name, get_username,
 
                 get_pass, "Other", get_note, imageID, isFav);  
}
} 

else
{
{

myDb.insertRowInItems(get_name, get_username,
 
                  get_pass, get_cat, get_note, imageID, isFav);
}
}




finish();
}
}

处理方法

你可以调用 notifyDataSetChanged 来更新listVIew适配器,加入你的listView价值的list中的数据已经更新了,你可以调用  notifyDataSetChanged() 方法更新


原文地址:http://www.itmmd.com/201411/118.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

android listview中自定义适配器和复选框   上一篇
下一篇  java android listview更新后位置变动
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!