0

意図により、文字列のタイトルを静的にすることはできません。文字列の URL は、それを使用するために静的にする必要があります。これは、静的でない文字列を静的な文字列に追加しようとするとエラーが発生することを意味します。どうすればそれを機能させることができますか?

エラー: 非静的フィールド タイトルへの静的参照を作成できません

Intent i = getIntent();
String title = i.getStringExtra("title");


static final String URL = "http://csddata.site11.com/dynamic.php?cat=" + title;

ありがとう。

4

2 に答える 2

2

文字列を静的かつ最終的に保持する必要がある場合は、次のことができます

static final String URL = "http://csddata.site11.com/dynamic.php?cat=%s";

Intent i = getIntent();
String title = i.getStringExtra("title");

String finalUrl = String.format(URL,title);
于 2013-06-07T11:17:09.853 に答える
1

title現在のアクティビティが開始されたときに値を取得するため、これは機能しません。

文字列 URL は静的で最終的なものです。静的変数は、実行の開始時に一度だけ初期化されます。これらの変数は、インスタンス変数の初期化の前に最初に初期化されます。フィールドを「final」として宣言すると、フィールドが定数であり、変更できないことが保証されます。

Intent i = getIntent();
String title = i.getStringExtra("title");


String URL = "http://csddata.site11.com/dynamic.php?cat=" + title;

あなたのコードは今すぐうまくいくはずです!!

于 2013-06-07T11:00:43.933 に答える