4 回答
慕的地6264312
TA貢獻1817條經驗 獲得超6個贊
已經有一些很好的答案,解釋了為什么非靜態Context方法的混合物getText()不能用于你的static final String。
一個很好的問題是:你為什么要這樣做?您正在嘗試String從strings資源加載a ,并將其值填充到public static字段中。我認為這是為了讓你的其他一些類可以訪問它?如果是這樣,就沒有必要這樣做了。而是將a傳遞Context到您的其他類并context.getText(R.string.TTT)從其中調用。
public class NonActivity {
public static void doStuff(Context context) {
String TTT = context.getText(R.string.TTT);
...
}}并從你這稱呼Activity:
NonActivity.doStuff(this);
這將允許您訪問您的String資源,而無需使用public static字段。
慕碼人8056858
TA貢獻1803條經驗 獲得超6個贊
對于在搜索中找到此內容的其他人:
當我不小心使用類名而不是對象名調用函數時,我經常得到這個。這通常是因為我給他們太相似的名字:P
即:
MyClass myclass = new MyClass();// then laterMyClass.someFunction();
這顯然是一種靜態方法。(對某些事情有好處)但我真正想做的事情(在大多數情況下是)
myclass.someFunction();
這是一個如此愚蠢的錯誤,但每隔幾個月,我浪費了大約30分鐘搞亂“MyClass”定義中的變量來解決我真正做錯的事情,這只是一個錯字。
有趣的說明:堆棧溢出突出了語法,使錯誤在這里顯而易見。
添加回答
舉報
0/150
提交
取消
