[android] Android에서 의도적으로 추가 데이터를 얻는 방법은 무엇입니까?
한 활동 (의도)에서 다른 활동으로 데이터를 보내려면 어떻게해야합니까?
이 코드를 사용하여 데이터를 보냅니다.
Intent i=new Intent(context,SendMessage.class);
i.putExtra("id", user.getUserAccountId()+"");
i.putExtra("name", user.getUserFullName());
context.startActivity(i);
답변
먼저, getIntent()
방법을 사용하여 활동을 시작한 의도를 얻으십시오 .
Intent intent = getIntent();
추가 데이터가 문자열로 표시되면 intent.getStringExtra(String name)
method 를 사용할 수 있습니다 . 귀하의 경우 :
String id = intent.getStringExtra("id");
String name = intent.getStringExtra("name");
답변
받는 활동에서
Bundle extras = getIntent().getExtras();
String userName;
if (extras != null) {
userName = extras.getString("name");
// and get whatever type user account id is
}
답변
// 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
답변
추가
데이터 설정
String value = "Hello World!";
Intent intent = new Intent(getApplicationContext(), NewActivity.class);
intent.putExtra("sample_name", value);
startActivity(intent);
데이터 가져 오기
String value;
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
value = bundle.getString("sample_name");
}
답변
데이터를 수신하려는 또 다른 새로운 의도를 초기화하는 대신 다음을 수행하십시오.
String id = getIntent().getStringExtra("id");
답변
FragmentActivity에서 사용되는 경우 다음을 시도하십시오.
첫 페이지는 FragmentActivity를 확장합니다
Intent Tabdetail = new Intent(getApplicationContext(), ReceivePage.class);
Tabdetail.putExtra("Marker", marker.getTitle().toString());
startActivity(Tabdetail);
프래그먼트에서는 getActivity()
먼저 전화 하면됩니다.
두 번째 페이지는 조각을 확장합니다 .
String receive = getActivity().getIntent().getExtras().getString("name");
답변
조각으로 여분의 데이터를 얻으려고하면 다음을 사용하십시오.
다음을 사용하여 데이터를 배치하십시오.
Bundle args = new Bundle();
args.putInt(DummySectionFragment.ARG_SECTION_NUMBER);
다음을 사용하여 데이터를 가져옵니다.
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);
}