gpt4 book ai didi

java - 将数组值加载到类中

转载 作者:行者123 更新时间:2023-12-02 07:23:14 24 4
gpt4 key购买 nike

我在程序中动态创建对象并从 array.xml 填充它们。在 array.xml 中,我有一系列工具和值,我需要将它们加载到每个项目的类值中。

这是我在类里面的内容;

public class ToolImporter extends Application{

public static Tool[] tools;
private String[] aTool;
private int i;

public ToolImporter() {

aTool = getResources().getStringArray(R.array.tools); //null pointer?

// TODO Auto-generated constructor stub
}

这是我的 array.xml;

    <array name="tools">
<item name="SAW">
<id>1</id>
<image>R.drawable.image_saw100x60px</image>
<boxX>100</boxX>
<boxY>100</boxY>
<worktopX>200</worktopX>
<worktopY>200</worktopY>
</item>
<item name="SCREWDRIVER">
<id>2</id>
<image>R.drawable.image_screwdriver100x60px</image>
<boxX>150</boxX>
<boxY>100</boxY>
<worktopX>250</worktopX>
<worktopY>200</worktopY>
</item>
<item name="HAMMER">
<id>3</id>
<image>R.drawable.image_hammer100x60px</image>
<boxX>200</boxX>
<boxY>100</boxY>
<worktopX>300</worktopX>
<worktopY>200</worktopY>
</item>
</array>

但是,它会在“//空指针?”上抛出一个空指针。线。谁能就我导入它时做错了什么提供建议?

最佳答案

根据这个post :

除非触发了 onCreate() 回调,否则不应调用 getResources()。

public class StackStackActivity extends Activity 
{

String[] myArray = getResources().getStringArray(R.array.glenns); // This returns null

public StackStackActivity()
{

myArray = getResources().getStringArray(R.array.glenns); // This returns null also
}

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

myArray = getResources().getStringArray(R.array.glenns); // Returns an array from resources
}
}

关于java - 将数组值加载到类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13919750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com