我对Eclipse& ADT插件世界,所以任何答案都可以解释一下它在做什么?这将非常有帮助。
基本上,我在一个活动中有一个列表,该列表将由来自数据库API的HTTP请求填充,我仍在努力。但是,我想知道的是,我能够在ListItem中获取字符串并将其提供给下一个活动中的TextView吗?
因此,例如,我点击'Record 1',然后将'Record 1'放入变量中,然后将用户发送到下一个屏幕,并将变量插入到TextView中。这可能吗?
谢谢。
答案 0 :(得分:2)
从适配器获取所需内容,然后将其放入启动新活动的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");
答案 1 :(得分:0)
为listItem实现setOnItemClickListener()
,您将捕获所单击的listItem和所需的String
,然后使用intent.putExtra(String id, STRING_VALUE)
将字符串传递给下一个活动。
答案 2 :(得分:0)
是的,这是可能的。
您可以使用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);