我想要创建一个活动,其中,我希望有一个列表视图,列表视图中可以有大约20-30个项目,在点击列表视图中的任何特定值时,它应该移动到另一个活动,列表视图的数据。
只想将listview中的数据传递给另一个活动。 建议PLZ 此致
答案 0 :(得分:4)
实现ListView
的OnItemClickListener,处理此事件后,尝试获取所单击行的位置。
获得它后,访问源数组中的特定行位置(或者您拥有的任何其他行)。这样,您就可以获得要传递给其他活动的数据。
现在使用此代码:
Intent anotherActivityIntent = new Intent(this, AnotherActivity.class);
anotherActivityIntent.putExtra("my.package.dataToPass",dataFromClickedRow);
startActivity(anotherActivityIntent);
当anotherActivityIntent
启动AnotherActivity
类时,使用以下代码访问您传递的值:
Bundle recdData = getIntent().getExtras();
String myVal = recdData.getString("my.package.dataToPass");
现在,您的数据位于myVal
变量中。你可以使用任何其他数据类型。
答案 1 :(得分:2)
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Object obj = this.getListAdapter().getItem(position);
String value= obj.toString();
Intent intent= new Intent(CurrrentClass.this,NextClass.class);
intent.putExtra("value", value);
startActivity(intent);
}
希望这会对你有所帮助。
答案 2 :(得分:2)
您可以将数据从一个活动传递到另一个活动:
请参阅此link
要获取ListView的数据,您必须先实现getListView.setOnItemClickListener()
,
并且必须获取ListView中项目的位置,并使用索引从适配器获取数据,从而将数据绑定到ListView。
答案 3 :(得分:1)
string selectedItem = arrayAdapter.getItem(position);
Intent intent = new Intent(getApplicationContext(),
Your_Second_Activity.class);
intent.putExtra("selectedItem", selectedItem);
startActivity(intent);
Second_Activity.Class
Bundle bundle = getIntent().getExtras();
String yourItem = bundle.getString("selectedItem");
Now! your selected item is inside in the yourItem Variable...
答案 4 :(得分:0)
有两种方法:
将其传递给Intent
intent.putExtra("jobNo", item.jobNo);
使用应用范围
((MyApplication) getApplication()).setJobNo(item.jobNo);
答案 5 :(得分:0)
在listview的onClickListener中使用Bundle。 Bundle会将数据从一个活动传递给Next。