2010-06-19 3 views
0

iam 여기에 액티비티를 불러오는 의도를 사용하고 다른 액티비티에 긴 변수를 보내야합니까?
Porjct.java다른 액티비티에 두 개의 긴 변수를 보내야합니까? 제발 도와주세요.

 Intent i = new Intent(ProjectList.this,RoleList.class); 
    Bundle c = new Bundle();    
    c.putLong("PID", projectID); 
    c.putLong("CTSID", castingTimeSlotID); 
    i.putExtras(c); 
    startActivityForResult(i,0); 
    finish(); 

RoleList.java

public void onActivityResult(int requestCode, int resultCode, Intent data) {  
      Bundle c = new Bundle(); 
     c = data.getExtras(); 
    projectID = b.getLong("PID"); 
    castingTimeSlotID = b.getLong("CTSID");} 

이 작동하지 않습니다, 나 좀 도와주세요?

답변

0

편집 :

onActivityResult()는 ProjectList.java에 있어야합니다 -이 때 자녀의 활동 반환 호출됩니다.

은 번들에서 부모에 의해 전송 된 데이터를 검색해야 RoleList.java에서 자녀의 활동이 조금 혼란 경우 onCreate()

를 통해 전달; 이 책을 먼저 읽어 보시기 바랍니다 : http://www.remwebdevelopment.com/dev/a33/Passing-Bundles-Around-Activities.html - 그 예는 매우 완전하며, 내가하는 것보다 더 잘 설명해줍니다. 부모 작업에서 키 "mykey"가 포함 된 데이터를 전달하는 방법에 유의하십시오. 이것이 당신이 원하는 것입니다. 내


이전 쓸모없는 대답은 당신이 번들을 통해 엑스트라를 검색 할 필요가 없습니다 생각

을 따른다. 이 시도 :

public void onActivityResult(int requestCode, int resultCode, Intent data) {  
    projectID = data.getLongExtra("PID"); 
    castingTimeSlotID = data.getLongExtra("CTSID"); 
} 
+0

이 작동하지 않습니다. , 그것은 null 값을 리턴한다. –

+0

나는 약간 혼란스러워 보인다. 어떤 코드가 어떤 활동에 있는가? 이것이 calling/parent 액티비티에 있다면, 아이에게있는 것은 무엇입니까? 왜냐하면 반드시 setResult (int resultCode, Intent 데이터)를 사용하여 Intent를 반환해야하기 때문입니다. RoleList 클래스에도 코드를 게시 할 수 있습니까? – Joubarc

+0

//ProjectList.java projectID 및 castingTimeSlotID는 일부 값을 갖는 긴 변수입니다. 의도 i = 새로운 의도 (ProjectList.this, RoleList.class); \t 번들 c = 새 번들(); \t c.putLong ("PID", projectID); \t c.putLong ("CTSID", castingTimeSlotID); \t i.putExtras (c); \t startActivityForResult (i, 0); //RoleList.java public void onActivityResult (int requestCode, int resultCode, 의도 데이터) { \t \t 번들 c = 새 번들(); \t c = data.getExtras(); \t \t projectID = c.getLong ("PID", projectID); \t \t castingTimeSlotID = c.getLong ("CTSID"); \t} 이것은 null을 반환합니다. –

1

을 이봐 친구 내가 그것을

잘 작동

Intent myIntent = getIntent(); // this is just for example purpose 
    myIntent.getExtras(); 
    PID = myIntent.getLongExtra("key", variable); 
    CID = myIntent.getLongExtra("key", variable); 

그게 만들기 오늘

클릭에 1 개 차 활동

 Intent myIntent = new Intent(ProjectList.this,RoleList.class); 
    myIntent.putExtra("key", variable); 
    myIntent.putExtra("key", variable); 
    startActivity(myIntent); 
    finish(); 

2 차 활동을 대답을 얻었다

관련 문제