Java 存储一个活动的意图,但启动不同的活动
我是android新手,我有一个问题。我想存储活动的意图,但启动不同的活动。我有一个backgroundworker活动,它必须存储postAnnotationActivity的意图,但必须启动InstructionActivity。如果在PostAnnotationActivity中使用Java 存储一个活动的意图,但启动不同的活动,java,android,android-intent,android-activity,Java,Android,Android Intent,Android Activity,我是android新手,我有一个问题。我想存储活动的意图,但启动不同的活动。我有一个backgroundworker活动,它必须存储postAnnotationActivity的意图,但必须启动InstructionActivity。如果在PostAnnotationActivity中使用intentID.getStringExtra,则输出=null。有人能帮忙吗 来自Backgroundworker的部分代码: Intent intent = new Intent(conte
intentID.getStringExtra
,则输出=null
。有人能帮忙吗
来自Backgroundworker的部分代码:
Intent intent = new Intent(context, InstructionsActivity.class);
Intent intentID = new Intent(context, PostAnnotationsActivity.class);
intentID.putExtra(ID, id);
context.startActivity(intent);
Intent intentID = new Intent(context, InstructionsActivity.class);
intentID.putExtra("ID", id);
context.startActivity(intentID);
邮购活动的一部分:
Intent intentID = getIntent();
String getID = intentID.getStringExtra(BackgroundWorker.ID);
Intent intentID = getIntent();
String getID = intentID.getStringExtra("ID");
从说明活动中,我将使用
startActivity(新意图(此,ShowPaintingActivity.class)
转到startActivity,然后使用startActivity(新意图(此,PostAnnotationsActivity.class))转到PostAnnotationActivity;
修改代码如下:
在Backgroundworker中:
Intent intent = new Intent(context, InstructionsActivity.class);
Intent intentID = new Intent(context, PostAnnotationsActivity.class);
intentID.putExtra(ID, id);
context.startActivity(intent);
Intent intentID = new Intent(context, InstructionsActivity.class);
intentID.putExtra("ID", id);
context.startActivity(intentID);
在指导活动中:
Intent intentID = getIntent();
String getID = intentID.getStringExtra("ID");
Intent intent = new Intent(context, ShowPaintingActivity.class);
intent.putExtra("ID", getID);
context.startActivity(intent);
在显示绘画活动中:
Intent intentID = getIntent();
String getID = intentID.getStringExtra("ID");
Intent intent = new Intent(context, PostAnnotationActivity.class);
intent.putExtra("ID", getID);
context.startActivity(intent);
在邮购活动中:
Intent intentID = getIntent();
String getID = intentID.getStringExtra(BackgroundWorker.ID);
Intent intentID = getIntent();
String getID = intentID.getStringExtra("ID");
另一个更好的解决方案是,正如用户1375469所建议的,您可以将值保存到Backgroundworker中的首选项,然后从PostAnnotation活动中检索它。修改代码如下: 在Backgroundworker中:
Intent intent = new Intent(context, InstructionsActivity.class);
Intent intentID = new Intent(context, PostAnnotationsActivity.class);
intentID.putExtra(ID, id);
context.startActivity(intent);
Intent intentID = new Intent(context, InstructionsActivity.class);
intentID.putExtra("ID", id);
context.startActivity(intentID);
在指导活动中:
Intent intentID = getIntent();
String getID = intentID.getStringExtra("ID");
Intent intent = new Intent(context, ShowPaintingActivity.class);
intent.putExtra("ID", getID);
context.startActivity(intent);
在显示绘画活动中:
Intent intentID = getIntent();
String getID = intentID.getStringExtra("ID");
Intent intent = new Intent(context, PostAnnotationActivity.class);
intent.putExtra("ID", getID);
context.startActivity(intent);
在邮购活动中:
Intent intentID = getIntent();
String getID = intentID.getStringExtra(BackgroundWorker.ID);
Intent intentID = getIntent();
String getID = intentID.getStringExtra("ID");
另一个更好的解决方案是,正如user1375469所建议的,您可以将值保存到Backgroundworker中的首选项,然后从PostAnnotation活动中检索它。尝试将您的意图存储为字符串,并使用共享首选项来存储/检索您的意图。就像这样
SharedPreferences prefs = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("StoredIntent", "String you want to store here");
editor.commit();
尝试将您的意图存储为字符串,并使用共享首选项来存储/检索您的意图
SharedPreferences prefs = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("StoredIntent", "String you want to store here");
editor.commit();
由于您没有启动活动,因此您的输出为空
context.startActivity(intentID);
当您将数据传递到其中时..您想转到我的InstructionActivity,但已经为PostAnnotationActivity存储了BackgroundWorker的一些数据….
因此,您必须为此使用SharedReference….您的输出为空,因为您没有启动活动,即
context.startActivity(intentID);
当您将数据传递到其中时..您想转到我的InstructionActivity,但已经为PostAnnotationActivity存储了BackgroundWorker的一些数据….
因此,您必须为此目的使用SharedReference…您发布的代码将启动InstructionActivity。请说明如何启动PostAnnotationActivity。我已更新了问题,因此基本上您希望传递额外的意图(=id值)到PostAnnotationsActivity?有什么原因不想使用SharedReferences吗?因为我不熟悉SharedReferences;)。我会看一看的。根据您发布的代码,您将开始指导活动。请说明如何启动PostAnnotationActivity。我已更新了问题,因此基本上您希望将额外的意图(=id值)传递给PostAnnotationActivity?有什么理由不想使用SharedReferences吗?因为我不熟悉SharedReferences;)。我会看一看。然后我直接从Backgroundworker转到PostAnnotationsActivity?我想转到InstructionActivity,但已经为PostAnnotationActivity存储了BackgroundWorker的一些数据是的,我认为这将解决我的问题,但我将查看ShardReferences。谢谢那么我直接从后台工作人员转到PostAnnotationsActivity?我想转到InstructionActivity,但已经为PostAnnotationActivity存储了BackgroundWorker的一些数据是的,我认为这将解决我的问题,但我将查看ShardReferences。谢谢