在我的活动中,我有两个带有一些数据的列表视图。在第一个列表视图中,所选行将在单击时突出显示,然后单击第二个列表视图新活动开始。 我想发送第一个listview的突出显示的行数据,并在下一个活动中点击第二个listview数据行。怎么能实现这个目标?
答案 0 :(得分:0)
假设您的列表名为 list1 & list2 ,添加到您的 list2 onItemClickListener,应该如下所示:
public void onItemClick(final AdapterView<?> parent, final View view, final int position, final long id) {
String highlightedItem = (String)list1.getSelectedItem();
String clickedItem = (String)list2.getItemAtPosition(position);
Intent intent = new Intent(FirstAcivity.this, SecondActivity.class);
intent.putExtra("highlightedItem", highlightedItem);
intent.putExtra("clickedItem", clickedItem);
startActivity(intent);
}
然后在你的第二个活动中你可以收到这样的项目:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Intent intent = getIntent();
if (intent != null){
String highlightedItem = intent.getStringExtra("highlightedItem");
String clickedItem = intent.getStringExtra("clickedItem");
}
}
我假设您的列表项类型为 String ,但您可以为任何其他类型应用相同的逻辑。 如果您想要发送对象而不仅仅是基元,您需要使对象实现 Serializable 或 Parcelable 接口。