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

Android 将值从上下文视图项传递到新意图!,android,Android,对不起,我是android新手,我正在做一个项目,我想编辑列表视图中所选项目的一些数据。 问题是我不知道如何传递数据。 我选择这个项目,这个项目是ProjItems类型的(一个构建项目的类); 它有get、字符串getname()、日期getdata()、int getPrec() 下面是我想开始新活动的地方: public void onCreateContextMenu(ContextMenu menu,View v,ContextMenu.ContextMenuInfo menuInfo)

对不起,我是android新手,我正在做一个项目,我想编辑列表视图中所选项目的一些数据。 问题是我不知道如何传递数据。 我选择这个项目,这个项目是ProjItems类型的(一个构建项目的类); 它有get、字符串getname()、日期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);
    }
我想将此信息传递给新活动,稍后我将在文本视图中显示它! 请帮助我,我将非常高兴,如果你这样做,我将非常感激! 向所有人问好
João Azevedo

因此,基本上您可以像这样从参考底图适配器获取所选项目

AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
Object my_item = getListAdapter().getItem((int) info.id);
现在,您可以使用意图将其传递给活动,从而像这样启动它

Intent intent = new Intent(context, Your_Activity.class);
Bundle extras = new Bundle();
extras.putSerializable("obj_to_pass", my_item);
intent.putExtras(extras);
startActivity(intent);
Bundle extras = getIntent().getExtras();
Object my_obj = extras.getSerializable("obj_to_pass");
而不是像这样从onCreate方法中的活动中获取

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

因此,基本上您可以像这样从参考底图适配器获取所选项目

AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
Object my_item = getListAdapter().getItem((int) info.id);
现在,您可以使用意图将其传递给活动,从而像这样启动它

Intent intent = new Intent(context, Your_Activity.class);
Bundle extras = new Bundle();
extras.putSerializable("obj_to_pass", my_item);
intent.putExtras(extras);
startActivity(intent);
Bundle extras = getIntent().getExtras();
Object my_obj = extras.getSerializable("obj_to_pass");
而不是像这样从onCreate方法中的活动中获取

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

两个问题:第一列上的变量项是什么类型的,getListAdapter()是做什么的?我有一个ProjiteAdapter,它处理我想要传递的类型的对象的一些属性!抱歉,我对这个android非常陌生,我想好好学习一些东西:D,我认为你的解决方案是正确的。putSerializable(“obj_to_pass”,我的项目);这一行给出了一些probs 2 xD2问题:第一列上的变量项是什么类型的,getListAdapter()它做什么?我拥有的是ProjiteAdapter,它处理我想要传递的类型的对象的一些属性!抱歉,我对这个android非常陌生,我想好好学习一些东西:D,我认为你的解决方案是正确的。putSerializable(“obj_to_pass”,我的项目);这条线给了一些问题2xd