如何将selectedListItem的对象传递给另一个活动?

时间:2011-06-08 10:58:56

标签: android

我设计了一个有listView的活动。我希望点击列表项时应该启动一个新的Activity,它应该包含与ClickItem相关的详细数据。请帮我解决这个问题。提前谢谢。

4 个答案:

答案 0 :(得分:3)

启动活动时,使用putExtra将数据发送到另一个活动

Intent i = new Intent(this, SecondActivity.class);
i.putExtra("listitemselected", listitemvalue);
startActivity(i);

SecondActivity.java 中使用getStringExtra获取值。

Intent i = getIntent();
String listItem = i.getStringExtra("listitemselected");

答案 1 :(得分:2)

在动作处理程序中使用putextra启动新活动,您可以添加一些数据

Intent intent = new Intent(ShowLocation.this, ListLocationActions.class);
intent.putExtra("infoName1", myData);
intent.putExtra("infoName2", MyData2);
startActivity(intent);

在新活动中:

String myData = getIntent().getStringExtra("infoName1");
String myData2 = getIntent().getStringExtra("infoName2");

答案 2 :(得分:1)

在你的onItemClick中。尝试这样的事情; 如果您使用的是Sqlite数据库,则可以发送该项的ID。或者您可以在特定位置从Object数组发送Object(如果Serializable)。 postion将是所选List Item的索引以及该特定数组中Object的索引,或者它可能是String。

@Override
public void onItemClick(AdapterView<?> arg0, View view, int position, long id)
{
    Intent status = new Intent(CurrentActivity.this,NextActivity.class );
    status.putExtra("_ID", id);
    //Or
    status.putExtra("OBJECT", mArray[position]);
    startActivity(status);
}

答案 3 :(得分:0)

  String temp  = listView(v.getId()).getText().toString();
  Intent i1 =  new Intent(currentAct.this,nextAct.class);
  i1.putExtra("listitem",temp);
  startActivity(i1);

listView()==&gt;它包含你在listItem上显示的所有listItem