我有一个列表视图,当用户选择一个项目时,将打开一个新活动,该活动将与数据库中的数据(sqlite)进行比较并检索数据。 我只能传递所选项目的位置,但我想传递字符串本身。
第一项活动的代码:
list.setAdapter(adapter);
list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
Intent myIntent = new Intent(view.getContext(), ShowWhereToGo.class);
myIntent.putExtra("id", position);
startActivityForResult(myIntent, 0); // display SubView.class }
}
@SuppressWarnings("unused")
public void onItemClick1(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
}});
第二项活动的代码:
Bundle extras = getIntent().getExtras();
if (extras != null) {
String temp = extras.getString("id");
Toast.makeText(getApplicationContext(),
"Position :"+temp , Toast.LENGTH_LONG)
.show();
}
答案 0 :(得分:3)
在Listview的ItemClick中
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
Intent myIntent = new Intent(view.getContext(), ShowWhereToGo.class);
myIntent.putExtra("item", adapter.getItem(position));
myIntent.putExtra("id", position);
startActivityForResult(myIntent, 0); // display SubView.class }
}
检索时
String item = getIntent().getExtras().getString("item");
答案 1 :(得分:1)
使用以下
String value =(String) parent.getItemAtPosition(position);
myIntent.putExtra("value", value);
删除onItemClick1