2011-08-30 19 views
0

我有一個ListActivity應該調用編輯窗體,很像Notepad tutorial。不同之處在於,我不想調用ACTION_EDIT意圖,而是直接編輯活動類並將其發送給ID。現在,我只能找出如何直接調用的意圖Android的意圖與顯式處理程序和ID

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

或與一般的請求發送一個ID爲編輯

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

那麼,如何搭配在一起他們現在呢?

+0

這樣的回答可以幫助你:http://stackoverflow.com/questions/2965109/passing-data-between-

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

活動功能於安卓/ 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並處理它。所以,如果你想直接開始練習,你就必須標識明確發送到活動:

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

然後,活動裏面,而不是尋找開放的數據裏面的ID,你得到它來自演員:

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