パラメータを指定してアクティビティを開始
私はAndroidの開発については非常に初心者です。
あるゲームの情報を表示するアクティビティを作成し、開始したいと思います。その情報を表示するには、gameIdが必要です。
このゲームIDをアクティビティに渡すにはどうすればよいでしょうか?ゲームIDは絶対に必要なので、IDを持っていないアクティビティは作成・開始したくありません。
アクティビティのコンストラクタが1つしかなく、パラメータも1つしかないような状態です。
どうすればいいのでしょうか?
ありがとうございます。
279
3
あなたのIDである
int
を新しいIntent
に入れます。次に、新しい
Activity
でその id を取得します。アクティビティの呼び出しに使用するIntentに追加データを追加するだけです。
呼び出し側のアクティビティに:
呼び出したアクティビティのonCreate()内では
編集 : おっと、Charlie Sheenの方が早かったですね。
既存の回答(
startActivity()
に渡されるIntent
にデータを渡す)は、この問題を解決するための通常の方法を示しています。他のアプリ(例えば、Taskerプラグインの編集アクティビティの1つ)によって起動されるアクティビティを作成しているため、Activity
を起動するIntent
を制御できないという奇妙なケースで使用できる別の解決策があります。パラメータを持つコンストラクタを持つベースクラスの
Activity
を作成し、次に値を持つベースクラスのコンストラクタを呼び出すデフォルトのコンストラクタを持つ派生クラスを以下のように作成することができます。ベースクラスのコンストラクタに渡すパラメータを生成する必要がある場合は、ハードコードされた値を、渡すべき正しい値を返す関数呼び出しに置き換えるだけです。