我如何将列表视图中所选项目的值或位置传递给新活动,它将使用该值从列表视图中的数据库中检索数据(在新活动中)
我有它可以工作的代码,但总是为已传递的位置传递一个空值。
我的第一个活动代码:
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent,View view,
int position, long id) {
// ListView Clicked item index
int itemPosition = position;
// ListView Clicked item value
String itemValue = (String) listView.getItemAtPosition(position);
// Show Alert HERE THE VALUE IS CORRECT-----
// Toast.makeText(getApplicationContext(),
// "Position :"+itemPosition+" ListItem : " +itemValue , Toast.LENGTH_LONG)
// .show();
Intent myIntent = new Intent(view.getContext(), ShowWhereToGo1.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
myIntent.putExtra("id", itemPosition);
startActivityForResult(myIntent, 0);
}
});
第二个活动:
Bundle extras = getIntent().getExtras();
String temp = extras.getString("id");
Toast.makeText(getApplicationContext(),
"Position :"+temp , Toast.LENGTH_LONG)
.show();
}
我也在第二个活动中尝试了该代码但仍然传递空值:
Intent in = this.getIntent();
String name = in.getStringExtra("id");
Toast.makeText(getApplicationContext(),
"Position :"+name , Toast.LENGTH_LONG)
.show();
还有其他方法可以在活动之间传递和检索值吗?