2

私はアンドロイドプログラミングに関する本の例に従っています

この例には 1 つのアクティビティがあります ....

この例のメソッドの 1 つには、1 行のコードがあります。

return getIntent().getIntExtra("KitchenDroid.Question", 0);

そして、私はこの行について混乱しています

前に学んだように、Extra を Intent に入れ、後で getExtra を取得する必要があります

しかし、コード全体には putExtra はありません。

前もって感謝します

4

4 に答える 4

1

ドキュメントから

public int getIntExtra (String name, int defaultValue)

インテントから拡張データを取得します。

ここ

name : 目的のアイテムの名前。

defaultValue : 指定された名前で目的の型の値が格納されていない場合に返される値。

以前に putExtra() で追加された項目の値、または見つからない場合はデフォルト値を返します。

最後の行はあなたの質問の答えです

于 2013-07-09T16:08:17.700 に答える
1

getIntent() を使用すると、現在のアクティビティを開始したインテントを取得しています。つまり、「KitchenDroid.Question」を別のアクティビティのインテントに入れる必要があります。

Intent i = new Intent(this, ActivityToStart.class);
Bundle b = new Bundle();
b.putString("KitchenDroid.Question", "12");
i.putExtras(b);
startActivity(i);

現在のアクティビティを開始するコードがある場合は、そこにあるかどうかを確認してください。そのコードがない場合、作成者は、他のアクティビティがそのパラメーターを渡す責任があると想定しているに違いありません。

于 2013-07-09T16:06:58.240 に答える
1

メソッドはputExtra()、アクティビティ コード自体ではなく、アクティビティを起動するために使用されるインテントを作成するコード内にある必要があります。

于 2013-07-09T16:07:20.803 に答える