单击一个列表视图传输两个列表视图数据

时间:2015-11-12 13:11:54

标签: android android-layout android-intent android-activity android-listview

在我的活动中,我有两个带有一些数据的列表视图。在第一个列表视图中,所选行将在单击时突出显示,然后单击第二个列表视图新活动开始。 我想发送第一个listview的突出显示的行数据,并在下一个活动中点击第二个listview数据行。怎么能实现这个目标?

1 个答案:

答案 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 接口。