2016-12-04 85 views
0

我正在制作一个音乐播放器应用程序,并且正在尝试实施播放列表。我在另一个意图中有一个文件选择器,并且我希望在文件选择器意图关闭时更新mainActivity中的ListView。如何在关闭时调用UpdateListView方法?意图关闭时的调用方法

开始意图:

Intent intent = new Intent(this, FileChooser.class); 
startActivity(intent); 

关闭意图

public void closeButton(View view){ 
    finish(); 
} 

任何帮助,将不胜感激!谢谢!

+0

SetResult function

覆盖这一点,你要使用'startActivityForResult' –

+0

参考。 http://stackoverflow.com/questions/10407159/how-to-manage-startactivityforresult-on-android –

+0

一个选项是覆盖Activity中的onResume()函数。当您的选择器活动关闭并且您的Listview进入前台时。检查数据是否更新可能是一些静态数据,如果是更新ListView。最好的选择是实现onActivityResult()并用startActivtyForresult()调用FileChooser – Swapnil

回答

0

我假设你使用的是自己FileChoser类,而不是一个标准的Android之一:

private static final int FileChooserRequestCode = 666; 

Intent intent = new Intent(this, FileChooser.class); 
startActivityForResult(intent, FileChooserRequestCode); 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == FillChooserRequestCode) { 
    if (resultCode == Activity.RESULT_OK) { 
      // ... file is chosen 
      String fileName = data.getStringExtra("FileName");  
    } else { 

      ... dialog is closed 

    } 

    } 
} 
在FileChoser

你做

Intent intent = new Intent(); 
intent.putStringExtra("FileName", fileName); 
SetResult(Activity.RESULT_OK, intent); 
finish(); 

SetResult(Activity.RESULT_CANCELED); 
finish(); 
0

您可以使用startActivityForResult()请参考链接Getting Results From Activity

static final int FILE_CHOOSER_INTENT = 1; // The request code 
... 
private void chooseFile() { 
    Intent intent = new Intent(this, FileChooser.class); 
    startActivityForResult(intent, FILE_CHOOSER_INTENT); 
} 

致电setResult将您的结果数据作为意图传递。有关详细信息,请参阅链接在你通话活动

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // Check which request we're responding to 
    if (requestCode == FILE_CHOOSER_INTENT) { 
     // Make sure the request was successful 
     if (resultCode == RESULT_OK) { 
      // The user picked a contact. 
      // The Intent's data Uri identifies which contact was selected. 

      // Do something with the contact here (bigger example below) 
     } 
    } 
} 
相关问题