2013-11-28 43 views
0

但是,当我尝试运行应用程序时,我的android项目没有在控制台中显示任何错误。它打开我的第一页,但点击按钮时不会打开下一页。 下面是我的代码:不幸的myApp已经停在模拟器

package com.example.nearestparks; 

import java.util.ArrayList; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Context; 
import android.content.res.Resources; 
import android.view.LayoutInflater; 
import android.view.Menu; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.BaseAdapter; 
import android.widget.ImageView; 
import android.widget.ListView; 
import android.widget.TextView; 

public class Information extends Activity { 

    ListView list; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_information); 
     list=(ListView) findViewById(R.id.listView); 
     list.setAdapter(new TinuAdapter(this)); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.information, menu); 
     return true; 
    } 

} 

class SingleRow 
{ 
    String title; 
    String description; 
    int image; 

    SingleRow(String title,String descriptions,int image) 
    { 
     this.title=title; 
     this.description=description; 
     this.image=image; 
    } 

} 


class TinuAdapter extends BaseAdapter 
{ 

    ArrayList<SingleRow> list; 
    Context context; 
    TinuAdapter(Context c) 
    { 
     context=c; 
     list=new ArrayList<SingleRow>(); 
     Resources res=c.getResources(); 
     String [] titles=res.getStringArray(R.array.titles); 
     String [] descriptions=res.getStringArray(R.array.descriptions); 
     int[] images={R.drawable.icon_park}; 
     for(int i=0;i<5;i++) 
     { 
      list.add(new SingleRow (titles[i],descriptions[i],images[i])); 
     } 

    } 

    @Override 
    public int getCount() { 
     // TODO Auto-generated method stub 
     return list.size(); 
    } 

    @Override 
    public Object getItem(int i) { 
     // TODO Auto-generated method stub 
     return list.get(i); 
    } 

    @Override 
    public long getItemId(int i) { 
     // TODO Auto-generated method stub 
     return i; 
    } 

    @Override 
    public View getView(int i, View view, ViewGroup viewGroup) { 
     // TODO Auto-generated method stub 
     LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View row =inflater.inflate(R.layout.single_row,viewGroup,false); 

     TextView title=(TextView)row.findViewById(R.id.textView1); 
     TextView description=(TextView) row.findViewById(R.id.textView2); 
     ImageView image =(ImageView) row.findViewById(R.id.imageView1); 

     SingleRow temp = list.get(i); 

     title.setText(temp.title); 
     description.setText(temp.description); 
     image.setImageResource(temp.image); 




     return row; 
    } 




} 

上logcat的节目java.lang.Array.OutOfBounds.Exception错误:长度= 0; inde

任何帮助将不胜感激。先谢谢你!

+7

你怎么知道'titles','descriptions'和'images'都包含5个项目? – John3136

回答

0

int[] images={R.drawable.icon_park};

图像是一项数组,但下面你循环5次

list.add(new SingleRow (titles[i],descriptions[i],images[i]));

因此,第一个循环迭代图像之后[1]将失败。

相关问题