对不起我刚接触到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
答案 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");