问一下本人这代码有什么问题,程序运行总是提示停止运行?

Android 码拜 8年前 (2016-01-30) 794次浏览
本人看了好几天了,一直找不到问题啊,请高手指点一下。
public class ViewItemClass {
String heroName;
String dowerDj;
int pic;
int type;
boolean separator;
}
public class MainActivity extends Activity {
private List<ViewItemClass> list;
private HeroAdapter adapter;
private ListView mListview;
private ViewItemClass itemClass;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
String[] dower = getResources().getStringArray(R.array.dower);
String[] name;
TypedArray typedArray = null;
TypedArray typedArray1 = null;
int titleLength;
name = getResources().getStringArray(R.array.johanna);
//图片
typedArray = getResources().obtainTypedArray(R.array.pic_johanna);
titleLength = typedArray.length();
//能否分割线
typedArray1 = getResources().obtainTypedArray(R.array.separator_johanna);
for (int index = 0; index < titleLength; index++) {
itemClass = new ViewItemClass();
itemClass.heroName = name[index];
itemClass.pic = typedArray.getResourceId(index, 0);
itemClass.separator = typedArray1.getBoolean(index, true);
if (index < 6)
itemClass.dowerDj = dower[index];
else
itemClass.dowerDj = null;
if (itemClass.separator)
itemClass.type = 1;
else
itemClass.type = 0;
list.add(itemClass);           //本人设了断点,第一次for循环运行到这里的时候 程序就要报错,停止运行了。
}
mListview = (ListView) findViewById(R.id.listview);
adapter = new HeroAdapter(this, list);
mListview.setAdapter(adapter);
}
}
解决方案:20分
你是list没有实例化啊,至少在使用list之前要list=new ArrayList<ViewItemClass>(); 玩android,要学会看logcat,光加断点不行,logcat会告诉你哪里出的错,出的错误类型是什么。这样才有效率。
解决方案:20分
对 这就是原因
错误日志 一般都是  第一句话 是 指出  你发生什么错了
然后  后面 相似   XXX.java:334     的就是 说 哪发生了错
日志里后面的  XXX.java:334  就是 最终表现出错误的地方
一般前面是系统文件,
你一条一条看,  发现了  你本人的文件.java:334    时   就可以知道  你本人的文件.java  的第334行 有毛病

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明问一下本人这代码有什么问题,程序运行总是提示停止运行?
喜欢 (0)
[1034331897@qq.com]
分享 (0)