各位大神,求指点错误的地方本人小白一枚,希望各位大神详细点描述代码中红色字体的就是LOGCAT 哪里指出错误的地方。Java code:public class textandimage extends Activity implements OnClickListener,OnItemSelectedListener{
   
private  ListView listView1;
private ViewAdapter viewAdapter;
private int selectedIndex = -1;
private Button addtext;
private Button addimage;
private Button delete;
private Button randomupdate;
private Button clean;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.textandimage);

listView1 = (ListView)findViewById(R.id.listview1);
ViewAdapter viewAdapter = new ViewAdapter(this);
listView1.setAdapter(viewAdapter);
listView1.setOnItemSelectedListener(this);

addtext = (Button)findViewById(R.id.addtext);
addimage = (Button)findViewById(R.id.addimage);
delete = (Button)findViewById(R.id.delete);
randomupdate = (Button)findViewById(R.id.randomupdate);
clean = (Button)findViewById(R.id.clean);
addtext.setOnClickListener(this);
addimage.setOnClickListener(this);
delete.setOnClickListener(this);
randomupdate.setOnClickListener(this);
clean.setOnClickListener(this);






}
    public static String[] data = new String[]{

"西游·降魔篇",
"僵尸世界大战",
"不二神探",
"富春山居图",
"钢铁侠3",
"毒战",
"速度与激情6",
"一代宗师",
"广东佛山人叶问(梁朝伟饰),年少时家境优渥,师从咏春拳第三代传人陈华顺学习拳法,师傅“一条腰带一口气”的告诫,支持他走过兵荒马乱,朝代更迭的混乱年代。妻子张永成(宋慧乔 饰)泼辣干练,二人夫唱妇随,琴瑟合壁。1936年,佛山武术界乱云激荡。" +
"八卦拳宗师宫羽田(王庆祥饰)年事已高,承诺隐退。其所担任的中华武士会会长职位,自然引起武林高手的关注与觊觎。包括宫羽田的独生女宫二(章子怡饰)在内,白猿马三(张晋饰),关东之鬼丁连山(赵本山饰),咏春叶问等高手无不将目光聚焦在正气凛然的宫羽田身上。" +
"拳有南北,国有南北乎?最有德行之人才堪会长重任,然这浮世虚名却引得无数迷乱之人狂醉奔忙,浪掷残生。生逢乱世,儿女情长埋藏心底,被冷若寒冰的车轮碾作碎泥。"

};

private class ViewAdapter extends BaseAdapter{

 private List textIdList = new ArrayList();
 private Context context;
 public ViewAdapter(Context context)
{
this.context = context;
} @Override
public int getCount() {
// TODO Auto-generated method stub
return textIdList.size();
} @Override
public Object getItem(int position) {   //获取指定位置数据集相关的数据项
// TODO Auto-generated method stub
return textIdList.get(position);
} @Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
} @Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub

String inflater = Context.LAYOUT_INFLATER_SERVICE;//获取系统的填充器服务
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(inflater);
LinearLayout linearLayout = null;
//处理文本列表项
if (textIdList.get(position) instanceof String)  //它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据
{ linearLayout = (LinearLayout) layoutInflater.inflate(R.layout.text, null);//装载从布局文件中找到Linearlayout布局的文件名字为 text的XML文件
TextView textView = ((TextView) linearLayout.findViewById(R.id.showtext));
textView.setText(String.valueOf(textIdList.get(position)));//将指定对象转换为其字符串表示形式
}
//处理图像列表项
else if (textIdList.get(position) instanceof Integer)
{
linearLayout = (LinearLayout) layoutInflater.inflate(R.layout.image, null);// inflate渲染
ImageView imageView = (ImageView) linearLayout.findViewById(R.id.imageview);
imageView.setImageResource(Integer.parseInt(String.valueOf(textIdList.get(position))));//将string类型转换成int类型,integer是一个包装类

}
return linearLayout;

}
public void addText(String text){

textIdList.add(text);
notifyDataSetChanged();

}
public void addImage(int resId){

textIdList.add(resId);
notifyDataSetChanged();
}
//删除指定列表项
public void remove(int index){
if(index<0)return;
textIdList.remove(index);
notifyDataSetChanged();

}
//删除所有列表项
public void removeall(){

textIdList.clear();
notifyDataSetChanged();

}
//修改指定列表项
public void mofify(int index,String text){

if (index < 0)

return;
//只修改文本列表项
if(textIdList.get(index) instanceof String){
textIdList.set(index, text);
notifyDataSetChanged();

}



}




} @Override
public void onClick(View view) {
// TODO Auto-generated method stub
switch(view.getId()){

    //添加文本列表项
      case R.id.addtext:
       int randomnum = new Random().nextInt(data.length);
       viewAdapter.addText(data[randomnum]);
       break;
    //添加图像列表项 
      case R.id.addimage:
       viewAdapter.addImage(getImageResourceId());
       selectedIndex=-1;
       break;
    //删除当前列表项 
      case R.id.delete:
       viewAdapter.remove(selectedIndex);
       selectedIndex=-1;
       break;
    //修改当前列表项
      case R.id.randomupdate:
       viewAdapter.mofify(selectedIndex, data[new Random().nextInt(data.length)]);
       selectedIndex=-1;
    //删除所有列表
      case R.id.clean:
viewAdapter.removeall();
break;

}

}
private int getImageResourceId()
{
int[] resourceIds = new int[]
{ R.drawable.item1, R.drawable.item2, R.drawable.item3,
R.drawable.item4, R.drawable.item5 };
return resourceIds[new Random().nextInt(resourceIds.length)];
} @Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
selectedIndex = position; } @Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub

}

}lisvlistview指针异常