将数据从列表视图传递到另一个活动

时间:2011-01-31 06:40:06

标签: android bundle

我想要创建一个活动,其中,我希望有一个列表视图,列表视图中可以有大约20-30个项目,在点击列表视图中的任何特定值时,它应该移动到另一个活动,列表视图的数据。

只想将listview中的数据传递给另一个活动。 建议PLZ 此致

6 个答案:

答案 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)

有两种方法:

  1. 将其传递给Intent

    intent.putExtra("jobNo", item.jobNo);
    
  2. 使用应用范围

    ((MyApplication) getApplication()).setJobNo(item.jobNo);
    

答案 5 :(得分:0)

在listview的onClickListener中使用Bundle。 Bundle会将数据从一个活动传递给Next。