静态引用非静态出错

Android 码拜 9年前 (2015-11-13) 867次浏览
String tswj=getResources().getString(R.string.tswj);
String scdc=getResources().getString(R.string.scdc);
String shdc=getResources().getString(R.string.shdc);
public static   String[] title={tswj,scdc,shdc,cpyj,zczb,other};      将汉字放进了string.xml里, 改了之后这里括号里报错!不能让一个静态引用非静态! 
  怎么改, 求高手
解决方案:15分
你用String-array会更简单一些,在strings.xml文件中添加:

     <string-array name="titles">
        <item>tswj</item>
        <item>scdc</item>
        <item>shdc</item>
    </string-array>

使用的时候
先定义static String[] title;
在onCreate中初始化title = getResources().getStringArray(R.array.titles);
这样就更简单一些。

解决方案:5分
直接用static去抓非static變數當然崩了
要間接賦予static變數值
你就差一步了
想在哪邊賦值都可, 只要別直接賦值

public static String[] title;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        ...
        title = getResources().getStringArray(R.array.titles);
    }

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明静态引用非静态出错
喜欢 (0)
[1034331897@qq.com]
分享 (0)