2011-08-30 4 views
0

Notepad tutorial과 매우 흡사하게 ListActivity가 편집 폼을 호출해야합니다. 차이점은 ACTION_EDIT 인 텐트를 직접 호출하지 않고 EditorActivity 클래스를 직접 호출하고 ID를 보냅니다. 지금은 단지 직접 의도명시 적 핸들러 및 ID가있는 Android 의도

startActivity(new Intent(Intent.ACTION_EDIT,ContentUris.withAppendedId(getIntent().getData(), id))); 

전화 또는

startActivity(new Intent(getBaseContext(),LocationEditorActivity.class)); 

가 어떻게 지금 함께 일치하는 않는 편집에 대한 일반 요구와 ID를 전송하는 방법을 알아낼 수 있습니까? 이렇게

+0

이 대답은 당신을 도울 수 있습니다 : http://stackoverflow.com/questions/2965109/passing-data-between- 잡 활동에

Intent intent = new Intent(getApplicationContext(), LocationEditor.class); intent.putExtra("Id", id); startActivity(intent); 

을 activities-in-android/2965248 # 2965248 –

답변

2

? 이 같은 의도를 구축하려고 :

Intent intent = getIntent(); 
int id = intent.getExtras().getInt("Id"); 
3

...

startActivity(new Intent(Intent.ACTION_EDIT,ContentUris.withAppendedId(getIntent().getData(), id))); 

이 ... OS를 묻는 것과 같다 : "이봐, 내가 URI의이 종류를 처리하고 Intent.ACTION_EDIT 동작을 지원하는 활동을 열 수 싶어요" .

그런 다음 선택한 활동은 Uri를보고 ID를 추출하고 처리해야합니다. 직접 활동을 시작하려는 경우 따라서, 당신은 단지 명시 적 활동에 ID를 보낼 수 있습니다 대신 열린 우리당 데이터 내부 ID를 찾는, 활동 안에,

Intent intent = new Intent(getBaseContext(),LocationEditorActivity.class); 
intent.putExtra("the_id", id); 
startActivity(intent); 

그렇다면, 당신은 그것을 얻을 추가로 :

long theId = getIntent().getExtras().getLong("the_id", -1);