2013-11-01 86 views
1

此代碼中是否存在任何問題?活動構造函數中的最終字段初始化

public class MyActivity extends Activity { 
    private final String[] names; 

    public MyActivity() { 
     names = new String[]{ 
      getString(R.string.strion_one), 
      getString(R.string.string_two), 
      getString(R.string.string_three), 
     }; 
    }  

    ... 

} 
+0

在'onCreate'中初始化它不要創建活動類的構造函數 – Raghunandan

+0

但是如果我想要最終的惡魔呢? – TpoM6oH

+1

當使用'getString()'獲取其成員時,不要使用final –

回答

2

如果我正確理解您的問題,您嘗試創建一個類,其中包含資源上的鏈接。所以我建議你創建一個包含你的資源鏈接的類。

public class MyResources{ 

    private final String[] myStrings; 
    public MyResources(Context context) 
    { 
     myStrings = new String[]{}; 
     myStrings[0] = context.getResources().getString(R.string.string_one); 
     myStrings[100] = context.getResources().getString(R.string.string_one_hun); 
    } 

    public String getStringAtNumber(int value) 
    { 
     return myStrings[0]; 
    } 
} 

是的!還有一件事。僅在執行onCreate之後才能獲取資源。