我有一个 BarcodeReaderActivity
我将在几个 Activity 中开始,然后再开始 Activity
, 我想传递一个目的地 Activity
这个类 BarcodeReaderActivity
所以在阅读二维码后,我希望它打开目的地 Activity
与 Intent
.
我的第一个解决方案是将目标类名作为字符串传递并在 BarcodeReaderActivity
中使用 switch case并写具体Intent
对于那个类。
我还尝试创建 BarcodeReader
作为Fragment
首先但是当我开始目的地时Activity
然后删除 Fragment
它显示以前的 Activity
很短的时间,但我不希望这种情况发生。
如果你知道更好的方法,我想从你那里得到一些建议。
最佳答案
您可以在 BarcodeReaderActivity
之外构建所需的 Intent
并将其作为额外传递。如果需要,您稍后可以在 BarcodeReaderActivity
中更改此 Intent 。
像这样:
Intent finalIntent = new Intent( context, FinalActivity.class );
Intent barcodeIntent = new Intent( context, BarcodeReaderActivity.class );
barcodeIntent.putExtra( "finalintentkey", finalIntent);
context.startActivity(barcodeIntent);
然后在您的 BarcodeReaderActivity
中检索 Intent (并根据需要修改它):
Intent finalIntent = getIntent().getParcelableExtra( "finalintentkey" );
// if needed modify intent here
finalIntent.addExtra( "somekey", someneededvalue );
startActivity( finalIntent );
// BarcodeReaderActivity can be finished now
finish();
关于android - 如何将类对象传递给 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30145158/