#java #android
#java #Android
Вопрос:
Я все еще новичок в Android, я в первую очередь разработчик iOS.
Я не знаю, почему я не могу проверить, является ли listArray пустым или нет. Мне все равно нужно протестировать и использовать его размер.
Это объявлено в классе:
Projects проекты = новые проекты();
Следующий код не любит, когда 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());
}
Вот как выглядит класс 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);
}
}
Комментарии:
1. Что вы имеете в виду, что ему это не нравится? Что происходит / не происходит?
2. Вы проверили projects.videos == null?
3. Он по-прежнему выходит из строя, когда я проверяю, что видео имеют значение null или projects.videos.size()==null — неправильный синтаксис.
4. Какова фактическая ошибка, которую вы получаете?
5. Итак, projects.videos==null работает. По какой-то причине происходит сбой, когда я пытаюсь ввести numberOfVideos = projects.videos.size(); Я просмотрел документацию, и .size() является целым числом, поэтому я не знаю, почему это не сработало. Возможно, потому, что projects было null. docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html
Ответ №1:
Я удалил int numberOfVideos = projects.videos.size();
Вместо использования if(numberOfVideos==0) Я использовал projects.videos == null
Я думаю, это было потому, что мои проекты имеют значение null, поэтому он выходит из строя при попытке получить размер ArrayList.