如何從一個活動(意圖)向另外一個活動發送數據? api
我使用如下代碼發送數據: 框架
Intent i=new Intent(context,SendMessage.class); i.putExtra("id", user.getUserAccountId()+""); i.putExtra("name", user.getUserFullName()); context.startActivity(i);
// How to send value using intent from one class to another class // class A(which will send data) Intent theIntent = new Intent(this, B.class); theIntent.putExtra("name", john); startActivity(theIntent); // How to get these values in another class // Class B Intent i= getIntent(); i.getStringExtra("name"); // if you log here i than you will get the value of i i.e. john
我剛剛在這裏發佈了一個涵蓋該主題的答案,其中包括一些替代方法。 this
它利用了Vapor API ,這是我編寫的簡化jQuery開發的新jQuery啓發式Android框架。 查看該答案中的示例,瞭解如何輕鬆在活動之間傳遞數據。 spa
它還演示了VaporIntent
,它使您能夠連接方法調用並利用重載的.put(...)
方法: code
$.Intent().put("data", "myData").put("more", 568)...
您能夠使用Vapor API輕鬆在整個應用程序中傳遞數據,所以但願對您和其餘人在應用程序開發過程當中有所幫助。 開發
若是您想獲取碎片中的額外數據,則能夠嘗試使用: get
使用如下方式放置數據: it
Bundle args = new Bundle(); args.putInt(DummySectionFragment.ARG_SECTION_NUMBER);
使用如下方法獲取數據: io
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { getArguments().getInt(ARG_SECTION_NUMBER); getArguments().getString(ARG_SECTION_STRING); getArguments().getBoolean(ARG_SECTION_BOOL); getArguments().getChar(ARG_SECTION_CHAR); getArguments().getByte(ARG_SECTION_DATA); }
若是在FragmentActivity中使用,請嘗試如下操做: class
第一頁擴展了FragmentActivity
Intent Tabdetail = new Intent(getApplicationContext(), ReceivePage.class); Tabdetail.putExtra("Marker", marker.getTitle().toString()); startActivity(Tabdetail);
在片斷中,您只須要先調用getActivity()
,
第二頁擴展了Fragment :
String receive = getActivity().getIntent().getExtras().getString("name");
沒必要初始化另外一個新的Intent來接收數據,只需執行如下操做:
String id = getIntent().getStringExtra("id");