簡體   English   中英

意圖關閉時的調用方法

[英]Call method when intent closes

我正在制作音樂播放器應用程序,並且正在嘗試實現播放列表。 我有另一個意圖的文件選擇器,並且我希望mainActivity中的ListView在文件選擇器意圖關閉時進行更新。 關閉時如何調用UpdateListView方法?

開始意圖:

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

結束意圖

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

任何幫助,將不勝感激! 謝謝!

我假設您使用的是自己的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();

您可以使用startActivityForResult()請參閱鏈接從活動獲取結果

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將您的結果數據作為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)
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM