【Android】Intent 頁面跳轉問題以及 會跳重新整理 等各種問題匯總

來源:互聯網
上載者:User

一, 概述:Activity作為公用類,繼承自ContextThemeWrapper.

        Activity專註於使用者所要做的事情。幾乎所有的Activity都是和使用者進行互動的。因此,Activity通過使用setContentView(view)來展示介面元素。儘管Activities通常是全螢幕顯示視窗的,但是你可以指定下面兩種方法的一種來進行顯示:

浮動表單:android:theme="?android:attr/windowIsFloating"嵌入到其他的Activity中。

二,startActivity(Intent)和startActivityForResult(Intent,int)的區別使用:

       startActivity(Intent) 用來啟動一個新的 activity ,這個 activity 將被放置在 activity 棧的棧頂。這個方法只有一個參數 Intent ,這個參數描述了將被執行的 activity 

      有時候你希望在一個 activity 結束時得到它返回的結果。舉個例子,你可能啟動一個 activity 來讓使用者從通訊錄中選擇一個人;當它結束的時候將會返回這個所選擇的人。為了得到這個返回的資訊,你可以使用 startSubActivity(Intent, int) 這個方法來啟動新的 activity ,第二個整形參數將會作為這次調用的識別標記。這個 activity 返回的結果你可以通過 onActivityResult(int,
int, String, Bundle) 方法來獲得,此方法的第一個參數就是之前調用所使用的識別標記。當 activity 退出的時候,它可以調用 setResult(int) 來將資料返回給他的父進程。這個方法必須提供一個結果碼,這個結果碼可以使標準結果 RESULT_CANCELED, RESULT_OK ,也可以是其他任何從 RESULT_FIRST_USER 開始的自訂值。此外,它還可以返回一段字串(經常是一段資料的 URL 地址),一個包含它所有希望值的 Bundle 。這些資訊都會在父 activity
的回呼函數 Activity.onActivityResult() 中出現,並連同最初提供的識別標記一起(此處有些拗口,意思其實就是子activity 返回的內容、返回碼、識別標記都將作為參數,按照不同的返回情況來調用父activity 的Activity.onActivityResult() 方法,以實現出現各種返回時父activity 做出響應的處理)。

三,執行個體

MainActivity:

 Intent intent = new Intent(MainActivity.this, Bookmarks.class); //必須在這個地方定義 不能在上面定義 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);                                startActivityForResult(intent,0); 
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {                                //跳轉前 A 設定值  傳回值    傳遞的值       super.onActivityResult(requestCode, resultCode, data);    if(data != null)    {        String str=data.getStringExtra("sec_bookmark_url").toString();        mWebView.loadUrl(str)    }    else         Toast.makeText(MainActivity.this,"結果********$$$", Toast.LENGTH_SHORT).show();    }

Bookmark.java

                 String aaa=(String) users.get(arg2).get("bookmark_url"); //擷取                           Intent intent = new Intent();                 // intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//重新整理                 intent.putExtra("sec_bookmark_url", aaa);//加上自訂的參數                 setResult(RESULT_OK, intent);                 Bookmarks.this.finish();


這種方法可行,但是如果Bookmark 只是tabactivity中的一個選項卡,MainActivity跳轉到選項卡中,而由選項卡中某一個選項來終結,該如何處理?

思考中……

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.