获取ListItem中的信息并将其发送到下一个Activity

我对Eclipse和ADT插件世界相对较新,所以任何答案都可以解释一下它在做什么? 这将非常有帮助。

基本上,我在一个活动中有一个列表,它将由来自数据库API的HTTP请求填充,我仍然在努力。 但是,我想知道的是,我能够在ListItem中获取字符串并将其提供给下一个活动中的TextView吗?

因此,例如,我点击’Record 1’,它将’Record 1’放入变量中,然后将用户发送到下一个屏幕,并将变量插入到TextView中。 这可能吗?

谢谢。

从适配器获取所需内容,然后将其放入启动新活动的Intent中:

listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { String string = parent.getAdapter().getItem(position); Intent intent = new Intent(this, nextActivity.class); intent.putExtra("text", string); startActivity(intent); } }); 

在新的Activity中,您将获得启动新Activity的Intent并获取您放入其中的String:

 String data = getIntent().getStringExtra("text"); 

为listItem实现setOnItemClickListener() ,您将在其中捕获单击的listItem和您需要的String ,然后使用intent.putExtra(String id, STRING_VALUE)将字符串传递给下一个活动。

对的,这是可能的。

您可以使用Extra将信息发送到另一个活动。 请参阅以下代码:

 Intent i = new Intent(this, NoteEdit.class); i.putExtra(NotesDbAdapter.KEY_ROWID, id); startActivityForResult(i, ACTIVITY_EDIT); 

您使用putExtra将要发送的数据发送到活动。 在示例中, NotesDbAdapter.KEY_ROWID是您为访问数据而提供的名称, id是数据本身。

而且,这是您从活动中获取数据的方式:

 Bundle extras = getIntent().getExtras(); mRowId = (extras == null) ? null : extras.getLong(NotesDbAdapter.KEY_ROWID);