Java 列表<;MyStructure>;错误:应用程序崩溃,不知道原因

Java 列表<;MyStructure>;错误:应用程序崩溃,不知道原因,java,android,list,class,Java,Android,List,Class,我构建了一个名为“item”的类,就是这样:(这就是全部代码) 现在我必须创建一个列表和添加()“项”,但由于某种原因,我的应用程序崩溃了 这就是活动: public class MainActivity extends Activity { List<item> markers; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(sav

我构建了一个名为“item”的类,就是这样:(这就是全部代码)

现在我必须创建一个
列表
添加()
“项”,但由于某种原因,我的应用程序崩溃了

这就是活动:

public class MainActivity extends Activity {

    List<item> markers;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        item a = new item(1, "lol", "sdfs", 32.45345, 34.54353, "nir", 0, 0);
        markers.add(a);


    }

感谢你们的帮助

初始化标记列表

List<item> markers=new ArrayList<item>();
List markers=new ArrayList();

在使用列表之前,必须对其进行初始化

    setContentView(R.layout.activity_main);

    List<item> markers = new ArrayList<item>();
    item a = new item(1, "lol", "sdfs", 32.45345, 34.54353, "nir", 0, 0);
    markers.add(a);
setContentView(R.layout.activity\u main);
列表标记=新的ArrayList();
项目a=新项目(1,“lol”,“SDF”,32.45345,34.54353,“nir”,0,0);
标记。添加(a);
试试这个

public class MainActivity extends Activity {

ArrayList<item> markers;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

     markers = new ArrayList<item>();

    item a = new item(1, "lol", "sdfs", 32.45345, 34.54353, "nir", 0, 0);
    markers.add(a);


}
公共类MainActivity扩展活动{
阵列列表标记;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
markers=newarraylist();
项目a=新项目(1,“lol”,“SDF”,32.45345,34.54353,“nir”,0,0);
标记。添加(a);
}

任何对象在使用其方法之前都应该初始化,但是在列表中添加数据之前,您似乎忘记了这一步骤。在列表中添加数据之前初始化
标记

 List<item> markers=new ArrayList<item>();
List markers=new ArrayList();

在代码中,您没有初始化arraylist对象以删除这些错误 请参见以下步骤:

  • 首先将内存分配给Arraylist对象,如下所示

    公共类MainActivity扩展了活动{

    阵列列表标记

    @凌驾 创建时受保护的void(Bundle savedInstanceState){

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    markers=newarraylist();
    项目a=新项目(1,“lol”,“SDF”,32.45345,34.54353,“nir”,0,0);
    标记。添加(a);
    
  • }

  • 其次,要处理错误,请使用try和catch块
  • 公共类MainActivity扩展了活动{

    阵列列表标记

    @凌驾 创建时受保护的void(Bundle savedInstanceState){ 尝试 {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    markers=newarraylist();
    项目a=新项目(1,“lol”,“SDF”,32.45345,34.54353,“nir”,0,0);
    标记。添加(a);
    }
    捕获(例外e)
    {
    //写入android ddms记录器。
    或
    致祝酒辞
    }
    
    }

  • 释放已初始化的资源,如arraylist等。 将finally块放在catch块之后

  • 你收到错误信息了吗?上面写着什么?把你的标记写上首字母。
    public class MainActivity extends Activity {
    
    ArrayList<item> markers;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
         markers = new ArrayList<item>();
    
        item a = new item(1, "lol", "sdfs", 32.45345, 34.54353, "nir", 0, 0);
        markers.add(a);
    
    
    }
    
     List<item> markers=new ArrayList<item>();
    
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);
    
           markers = new ArrayList<item>();
    
           item a = new item(1, "lol", "sdfs", 32.45345, 34.54353, "nir", 0, 0);
           markers.add(a);
    
               super.onCreate(savedInstanceState);
               setContentView(R.layout.activity_main);
    
               markers = new ArrayList<item>();
    
               item a = new item(1, "lol", "sdfs", 32.45345, 34.54353, "nir", 0, 0);
               markers.add(a);
    
        }
        catch(Exception e) 
        {
             //Write to android ddms logger.
                or
              make a Toast Message
        }