Java 从另一个序列化类加载ArrayList以在ListView中使用
我还是Android新手,我主要是一名iOS开发者 我不知道为什么我不能测试ListArray是否为空。无论如何,我需要测试和使用它的大小 这是在类中声明的:Java 从另一个序列化类加载ArrayList以在ListView中使用,java,android,Java,Android,我还是Android新手,我主要是一名iOS开发者 我不知道为什么我不能测试ListArray是否为空。无论如何,我需要测试和使用它的大小 这是在类中声明的: 项目=新项目() 以下代码不喜欢将projects.videos.size()比较为零或0 try { if (projects != null) { int numberOfVideos = projects.videos.size(); if(numberOfVideos==0) { // myS
项目=新项目() 以下代码不喜欢将projects.videos.size()比较为零或0
try
{
if (projects != null)
{
int numberOfVideos = projects.videos.size();
if(numberOfVideos==0)
{
// myStringArray = new String[projects.videos.size()];
//
//
//
// for (int i = 0;i < projects.videos.size();i++)
// {
// myStringArray[i] = projects.videos.get(i);
// }
}
else
{
// myStringArray = new String[1];
// myStringArray[0] = "No projects";
}
}
else
{
System.out.println("Sucess");
}
}
catch (Exception e)
{
System.out.println(e);
System.out.println("somethingbad has happened");
System.out.println(projects.videos.size());
}
试试看
{
如果(项目!=null)
{
int numberOfVideos=projects.videos.size();
如果(numberOfVideos==0)
{
//myStringArray=新字符串[projects.videos.size()];
//
//
//
//对于(int i=0;i
这就是projects类的外观:
package com.example.musicvideomaker;
import java.util.ArrayList;
import java.util.UUID;
import java.io.Serializable;
@SuppressWarnings("serial")
public class Projects implements Serializable{
public String projectName;
public String musicStuff;
public String songTitle;
public String guid;
public boolean isBuiltVideo;
public boolean isListOfBuiltVideos;
public int selectedIndex;
public ArrayList<String> videos;
public ArrayList<String> builtVideos;
public ArrayList<Number> tPoints;
public void setProjectName(String projectName)
{
this.projectName = projectName;
}
public void setMusicStuff(String musicStuff)
{
this.musicStuff = musicStuff;
}
public void setSongTitle(String songTitle)
{
this.songTitle = songTitle;
}
public void setGuid()
{
UUID uuid = UUID.randomUUID();
this.guid = uuid.toString();
}
public void isBuiltVideo(boolean isBuiltVideo)
{
this.isBuiltVideo = isBuiltVideo;
}
public void isListOfBuiltVideos(boolean isListOfBuiltVideos)
{
this.isListOfBuiltVideos = isListOfBuiltVideos;
}
public void setSelectedIndex(int selectedIndex)
{
this.selectedIndex = selectedIndex;
}
public void addRecordedVideo(String recordedVideo)
{
this.videos.add(recordedVideo);
}
public void addBuiltVideo(String builtVideo)
{
this.builtVideos.add(builtVideo);
}
public void addTPoint(Number tPoint)
{
this.tPoints.add(tPoint);
}
}
package com.example.musicvideomaker;
导入java.util.ArrayList;
导入java.util.UUID;
导入java.io.Serializable;
@抑制警告(“串行”)
公共类项目实现可序列化{
公共字符串projectName;
公共弦乐;
公共弦乐歌曲名称;
公共字符串guid;
公共视频;
公共布尔isListOfBuiltVideos;
公共int-selectedIndex;
公共ArrayList视频;
公共ArrayList建筑视频;
公共阵列列表tPoints;
public void setProjectName(字符串projectName)
{
this.projectName=projectName;
}
public void setMusicStuff(字符串musicStuff)
{
this.musicStuff=musicStuff;
}
公共void setSongTitle(字符串songTitle)
{
this.songTitle=songTitle;
}
public void setGuid()
{
UUID UUID=UUID.randomUUID();
this.guid=uuid.toString();
}
public void isBuiltVideo(布尔isBuiltVideo)
{
this.isBuiltVideo=isBuiltVideo;
}
public void isListOfBuiltVideos(布尔isListOfBuiltVideos)
{
this.isListOfBuiltVideos=isListOfBuiltVideos;
}
公共无效集合selectedIndex(int selectedIndex)
{
this.selectedIndex=selectedIndex;
}
public void addRecordedVideo(字符串录制的视频)
{
此.videos.add(录制的视频);
}
public void addBuiltVideo(字符串builtVideo)
{
this.builtVideos.add(builtVideos);
}
公共无效添加点(编号tPoint)
{
this.tPoints.add(tPoint);
}
}
我删除了int numberOfVideos=projects.videos.size()
我没有使用if(numberOfVideos==0),而是使用projects.videos==null
我想这是因为我的项目是空的,所以在尝试拉取arrayList的大小时崩溃了。你说它不喜欢它是什么意思?发生了什么/没有发生什么?您检查过Project.videos==null吗?当我检查视频为null或Project.videos.size()==null时,它仍然会崩溃。您得到的实际错误是什么?好的,所以Project.videos==null可以工作。由于某种原因,当我尝试int numberOfVideos=projects.videos.size()时,它崩溃了;我查看了文档,发现.size()是一个整数,所以我不知道为什么它不起作用。可能是因为项目是空的。