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