2011-07-04 102 views
0

好吧,我有一個名爲viewList的類。當它長按的項目ID在我的SQL數據庫中查找該項目時。並開始一項新的活動。我將如何將這個長按檢索到的ID轉移到我的新活動中,以便實習人員查找信息。如何將信息從一個類傳遞到另一個

case R.id.lookup_book: 
    AdapterContextMenuInfo web = 
     (AdapterContextMenuInfo)item.getMenuInfo(); 

      mDbHelper.fetchinfo(web.id); 
    Intent v = new Intent(this, bookLookup.class); 
    startActivity(v); 

我想通過web.id這項活動

public class bookLookup extends Activity { 
WebView webView; 
private DbAdapter mDbHelper; 
@Override 
public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.book_browser); 
    webView = (WebView)findViewById(R.id.webkit); 



} 

}

回答

1

在你longClickListener添加metgod把額外的數據進入的意圖。它可以通過這種方式

Intent intent = new Intent(this, bookLookup.class); 
intent.putExtra("myId", id); 
startActivity(v); 

完成在新的活動,你可以使用這個

Bundle extras = getIntent().getExtras(); 
int id = extras != null ? extras.getLong("myId") : -1; 

照顧檢索這個額外的值,我使用的身份識別碼串傳遞和獲取活動之間的值應該是一樣的。您可以通過爲每個項目指定一個唯一的名稱並使用相同的名稱來檢索它們來以這種方式傳遞多個項目。

您可以通過這種方式傳遞任何原始數據類型。我長期以此爲例。

3

當啓動一個活動,您可以通過額外的意圖

Intent bookLookup = new Intent(this, bookLookup.class); 
bookLookup.putExtra("id", "123"); 
startActivity(bookLookup); 

已啓動的活動可以使用getExtra將其提取出來:

Intent myIntent = getIntent(); 
myIntent.getExtra("id"); 
相關問題