【发布时间】:2015-10-24 18:26:46
【问题描述】:
我正在开发一个应用程序,我必须从数组列表obj 生成随机值并将生成的值保存到rndmObj 数组列表。然后我需要将rndmObj 的所有值显示到屏幕上的多行文本视图tvObjectList1。但是在打开应用程序时,它会崩溃并显示“不幸的是应用程序已关闭”的常见消息。
我知道代码存在一定的问题。所以 logcat 不会有帮助。
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.level);
prepareObjList();
randObjFunc();
}}
private void prepareObjList() {
// TODO Auto-generated method stub
//adding string values to arrayList for tvObjectList1
obj = new ArrayList<String>();
obj.add("bowTie");
obj.add("key");
obj.add("grosshoper");
//adding imageViews to objImg arrayList
objImg = new ArrayList<Integer>();
objImg.add(R.drawable.level1_bowtie);
objImg.add(R.drawable.level1_key);
objImg.add(R.drawable.level1_grasshopper);
}
final Random randomGenerator = new Random();
ArrayList<String>obj;
ArrayList<String>rndmObj;
public String item=null;
private void randObjFunc(){
int index=0;
while(index <10){
item = obj.get(randomGenerator.nextInt(obj.size()));
rndmObj.add(index, item);
obj.remove(obj.indexOf(item));
index++;
}
dispRndmObj();
}
private void dispRndmObj(){
for (int i=0; i<rndmObj.size();i++){
((TextView) findViewById(R.id.tvObjectList1))
.setText(rndmObj.get(i).toString());
}
}
没有语法错误,应用安装完美。所有的初始化都是对所有变量、数组列表等进行的 我希望能快速获得一些有用的建议、指导和代码 sn-p。
【问题讨论】:
-
obj永远不会被初始化。您正在null上操作。 -
另外,标签也很模糊。您应该添加语言和平台 - java 和 android?
-
obj 在 onCreate 方法中被初始化。是的,我正在通过 Eclipse 上的 java 为 Android 开发。
-
用需要的代码更新问题。几秒钟后重新访问它。
标签: java android arraylist random textview