我对 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 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);