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 回答