gpt4 book ai didi

android - 在android中使用模型类获取列表数据

转载 作者:搜寻专家 更新时间:2023-11-01 09:47:17 37 4
gpt4 key购买 nike

我有两个模型类 SpecialitySubSpeciality 。当我调用 getsubSpecialityList 时,它返回 NullpointerException

专业模型

public class Speciality 
{
public String name;
public List<SubSpeciality> subSpecialityList;
public String getname()
{
return name;
}
public void setname(String name)
{
this.name = name;
}
public List<SubSpeciality> getsubSpecialityList()
{
return subSpecialityList;
}
public void setsubSpecialityList(List<SubSpeciality> subSpecialityList)
{
this.subSpecialityList = subSpecialityList;
}
}

子专业模型

public class SubSpeciality 
{
public String name;
public String getnamesub()
{
return name;
}
public void setnamesub(String name)
{
this.name = name;
}
}

使用以下代码在两个模型中添加项目

 List<Speciality> specialityList = new ArrayList<Speciality>();
List<SubSpeciality> subspecialityList = new ArrayList<SubSpeciality>();
Speciality spe = new Speciality();
spe.setname("Othopedic");

SubSpeciality sub= new SubSpeciality();
sub.setnamesub("---Select speciality---");
sub.setnamesub("1");
sub.setnamesub("2");
sub.setnamesub("3");
subspecialityList.add(sub);
spe.setsubSpecialityList(subspecialityList);
specialityList.add(spe);

在下面的代码中出现错误

for(int j= 0;j<specialityList.size();j++)
{
Toast.makeText(RegisterActivity.this,specialityList.get(j).getsubSpecialityList().get(j).getnamesub()+"hii",Toast.LENGTH_SHORT).show();
}

Logcat 输出:

FATAL EXCEPTION: main Process: careers.app.com.jobssearch, PID: 29880
java.lang.NullPointerException
at careers.app.com.jobssearch.Activity.RegisterActivity$getSpeciality.onPostExecute(RegisterActivity.java:320)
at careers.app.com.jobssearch.Activity.RegisterActivity$getSpeciality.onPostExecute(RegisterActivity.java:263)
at android.os.AsyncTask.finish(AsyncTask.java:632)
at android.os.AsyncTask.access$600(AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5072)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
at dalvik.system.NativeStart.main(Native Method)

最佳答案

这里是错误

specialityList.get(j).getsubSpecialityList().get(j)

您假设两个数组的大小相同,但有时不可能。

所以你的代码应该是

for(int j= 0;j<specialityList.size();j++)
{
for(int k=0;k<specialityList.get(j).getsubSpecialityList().size();k++)
Toast.makeText(getActivity(),specialityList.get(j).getsubSpecialityList().get(k).getnamesub()+"hii",Toast.LENGTH_SHORT).show();
}

关于android - 在android中使用模型类获取列表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37495894/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com