由于我是 Java 编程新手,因此我需要一些帮助。我坚持这个问题,直到我让它工作才能继续。
我正在尝试从中创建一个包含首选项 int 的字符串。我保存了数据并可以显示 int(只是示例代码):
SharedPreferences prefs=PreferenceManager
.getDefaultSharedPreferences(this);
list.setText(prefs.getString("list", "22"));
现在,我有一个 xml 解析器,它可以正确地将 url 作为静态字符串提取:
public static String feedUrl = String.format("http://www.freshpointmarketing.com/iphone/objects/XML/AND.php?ID=%d", 22);
效果很好...
现在我的问题......
我需要让首选项“int”成为字符串中的变量,从而使其不是静态的。
static SharedPreferences prefs=PreferenceManager.getDefaultSharedPreferences(this);
static int myVariable = prefs.getInt("list1", 22);
public static String feedUrl = String.format("http://www.freshpointmarketing.com/iphone/objects/XML/AND.php?ID=%d", myVariable);
如果我取出所有静态引用,我会得到一个错误:
private void loadFeed(ParserType type){
try{
FeedParser parser = FeedParserFactory.getParser(type);
long start = System.currentTimeMillis();
messages = parser.parse();
long duration = System.currentTimeMillis() - start;
Log.i("AndroidNews", "Parser duration=" + duration);
String xml = writeXml();
Log.i("AndroidNews", xml);
List<String> titles = new ArrayList<String>(messages.size());
for (Message msg : messages){
titles.add(msg.getTitle());
}
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this, R.layout.row,titles);
this.setListAdapter(adapter);
} catch (Throwable t){
Log.e("AndroidNews",t.getMessage(),t);
}
}
谢谢