Van*_*nel 282 android oncreate android-activity
我是Android开发的新手.
我想创建并开始一项活动来显示有关游戏的信息.我展示了我需要一个gameId的信息.
如何将此游戏ID传递给活动?游戏ID是绝对必要的,所以我不想创建或启动活动,如果它没有ID.
这就像活动只有一个带有一个参数的构造函数.
我怎样才能做到这一点?
谢谢.
Wro*_*lai 487
把int你的id放入新的Intent.
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
Bundle b = new Bundle();
b.putInt("key", 1); //Your id
intent.putExtras(b); //Put your id to your next Intent
startActivity(intent);
finish();
Run Code Online (Sandbox Code Playgroud)
然后抓住新的id Activity:
Bundle b = getIntent().getExtras();
int value = -1; // or other values
if(b != null)
value = b.getInt("key");
Run Code Online (Sandbox Code Playgroud)
Dav*_*Gin 120
只需将额外数据添加到您用来调用活动的Intent中.
在调用者活动中:
Intent i = new Intent(this, TheNextActivity.class);
i.putExtra("id", id);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
在您调用的活动的onCreate()内:
Bundle b = getIntent().getExtras();
int id = b.getInt("id");
Run Code Online (Sandbox Code Playgroud)
编辑:哎呀,查理辛更快.
pom*_*ber 38
我喜欢在第二个活动中使用静态方法:
private static final String EXTRA_GAME_ID = "your.package.gameId";
public static void start(Context context, String gameId) {
Intent intent = new Intent(context, SecondActivity.class);
intent.putExtra(EXTRA_GAME_ID, gameId);
context.startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
...
Intent intent = this.getIntent();
String gameId = intent.getStringExtra(EXTRA_GAME_ID);
}
Run Code Online (Sandbox Code Playgroud)
然后从您的第一个活动(以及其他任何地方),您只需:
SecondActivity.start(this, "the.game.id");
Run Code Online (Sandbox Code Playgroud)
科特林代码:
开始SecondActivity:
startActivity(Intent(context, SecondActivity::class.java)
.putExtra(SecondActivity.PARAM_GAME_ID, gameId))
Run Code Online (Sandbox Code Playgroud)
获取 Id SecondActivity:
class CaptureActivity : AppCompatActivity() {
companion object {
const val PARAM_GAME_ID = "PARAM_GAME_ID"
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val gameId = intent.getStringExtra(PARAM_GAME_ID)
// TODO use gameId
}
}
Run Code Online (Sandbox Code Playgroud)
其中gameId是String? (可以为空)
| 归档时间: |
|
| 查看次数: |
218887 次 |
| 最近记录: |