如何從Android上的Intent中獲取更多數據?

如何從一個活動(意圖)向另外一個活動發送數據? api

我使用如下代碼發送數據: 框架

Intent i=new Intent(context,SendMessage.class);
i.putExtra("id", user.getUserAccountId()+"");
i.putExtra("name", user.getUserFullName());
context.startActivity(i);

#1樓

//  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

#2樓

我剛剛在這裏發佈了一個涵蓋該主題的答案,其中包括一些替代方法。 this

它利用了Vapor API ,這是我編寫的簡化jQuery開發的新jQuery啓發式Android框架。 查看該答案中的示例,瞭解如何輕鬆在活動之間傳遞數據。 spa

它還演示了VaporIntent ,它使您能夠連接方法調用並利用重載的.put(...)方法: code

$.Intent().put("data", "myData").put("more", 568)...

您能夠使用Vapor API輕鬆在整個應用程序中傳遞數據,所以但願對您和其餘人在應用程序開發過程當中有所幫助。 開發


#3樓

若是您想獲取碎片中的額外數據,則能夠嘗試使用: 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);

}

#4樓

若是在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");

#5樓

沒必要初始化另外一個新的Intent來接收數據,只需執行如下操做:

String id = getIntent().getStringExtra("id");
相關文章
相關標籤/搜索