将值从上下文视图项传递到新意图!

时间:2011-02-18 14:13:38

标签: android

对不起我刚接触到android,我正在做一个项目,我想从ListView中选择的项目中编辑一些数据。 问题是我对如何传递数据一无所知。 我选择这个项目,这个项目是ProjItems类型(构建项目的类); 它有gets,string getname(),date getdata(),int getPrec();

这是我想要开始新活动的地方:

public void onCreateContextMenu(ContextMenu menu,View v,ContextMenu.ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    menu.setHeaderTitle("Selected Project");
    menu.add(0, DEL, Menu.NONE, R.string.remove);
    menu.add(0, EDIT, Menu.NONE, R.string.edit).setIntent(new Intent(PM_List.this, PM_Edit.class));//here is where i want to pass the info
    menu.add(0, TASK_LIST, Menu.NONE, R.string.task);
    menu.add(0, CANCEL, Menu.NONE, R.string.cancel);
    }

此信息我想传递给新活动,我稍后会在textview上显示它! 请帮助我,我会非常高兴,如果你这样做,我将感激不尽! 最好的问候 JoãoAzevedo

1 个答案:

答案 0 :(得分:3)

所以基本上你可以从底层适配器中获取所选项目。

AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
Object my_item = getListAdapter().getItem((int) info.id);

现在你可以使用Intent将它传递给活动,它会像这样启动它

Intent intent = new Intent(context, Your_Activity.class);
Bundle extras = new Bundle();
extras.putSerializable("obj_to_pass", my_item);
intent.putExtras(extras);
startActivity(intent);

然后从onCreate方法中的活动中获取它,就像这样

Bundle extras = getIntent().getExtras();
Object my_obj = extras.getSerializable("obj_to_pass");