通知数据从一个活动更改为另一个活动

Sha*_*ham 1 java android android-intent android-listview

我有个问题.我有两个活动(MainActivity,EditAccount).在MainActivity中,我从数据库编译了一个列表视图.在EditActivty中,我将数据更新到数据库中,并在数据更改后立即返回MainActivity:

    public class EditAccount extends Activity {
    ......
    ......


    public void update_acc(View view){

    EditText accName=(EditText)findViewById(R.id.acc_name);
    EditText comment=(EditText)findViewById(R.id.comments);
    String acc_name=accName.getText().toString();
    String comments=comment.getText().toString();
    Intent intent=getIntent();
    int id = (int) intent.getExtras().getLong("data_id"); 
    String data_id= Integer.valueOf(id).toString();

    datasource.updateEvent(acc_name, comments, data_id);
    datasource.close();

    Toast.makeText(getBaseContext(), "Account updated; Acc_name:"+acc_name+", Comment:"+comments, Toast.LENGTH_LONG).show();

    super.onBackPressed();
}
Run Code Online (Sandbox Code Playgroud)

问题是,当Activity重定向回MainActivity时,ListView中的数据不会更新.那么,如何通知ListView数据已被更改?请帮忙.在此先感谢,等待您的回复......

Lal*_*ani 6

问题是您可能正在从数据库内部填充ListView onCreate().因此,解决方案是使用数据库填充ListView,onResume()该数据库将从数据库中获取更新的数据.

因为当你返回到MainActivity时onResume()会调用它,所以只需将你的代码从数据库中取出onResume()而不是onCreate()更新你的ListView.