如何将信息从一个类传递到另一个类

时间:2011-07-04 05:51:39

标签: android

好的,我有一个名为viewList的类。当长按项目时,会在我的SQL数据库中查找该项目的ID。并开始一项新活动。如何将长按时检索到的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);



}

}

3 个答案:

答案 0 :(得分:3)

启动活动时,您可以将附加内容传递给意图

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

启动的Activity可以使用getExtra:

来获取它
Intent myIntent = getIntent(); 
myIntent.getExtra("id");

答案 1 :(得分:1)

在longClickListener中添加一个metgod以将额外数据放入intent中。它可以用这种方式完成

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;

请注意我曾经在活动之间传递和检索值的myId字符串应该是相同的。您可以通过为每个项目指定唯一名称并使用相同的名称来检索它们来以这种方式传递多个项目。

您可以通过这种方式传递任何原始数据类型。我用长期作为例子。

答案 2 :(得分:0)