我有自定义arraylist格式的片段活动
public class giftsListFormat {
String id;
String name;
String url;
String points;
}
ArrayList<giftsListFormat> giftList = new ArrayList<giftsListFormat>();
我正在尝试从asynctask类
访问此列表格式private static class MyAsyncTask extends AsyncTask<Void, Void, Void> {
private MyAsyncTask () {
[How can i create an object of giftsListFormat here?]
[How can i access giftList from here]
}
}
答案 0 :(得分:1)
试试这个 - 这可能是您需要的自定义类。
将此声明为全局:
ArrayList<giftsListFormat> details = new ArrayList<giftsListFormat>();
public class giftsListFormat {
String id;
String name;
String url;
String points;
public String getid() {
return id;
}
public void setid(String id)
{
this.id = id;
}
public String getname() {
return name;
}
public void setname(String name)
{
this.name = name;
}
public String geturl() {
return url;
}
public void seturl(String url)
{
this.url = url;
}
public String getpoints() {
return points;
}
public void setpoints(String points)
{
this.points = points;
}
}
将值放入数组列表中 - 执行此操作
giftsListFormat Detail;
Detail = new giftsListFormat();
Detail.setid("test1");
Detail.setname("test2");
details.add(Detail);
现在检索值 将以下代码放在异步任务
中details.get(i).id.toString();
details.get(i).name.toString();
details.get(i).url.toString();
您可以迭代数组列表的大小。
details.size();
答案 1 :(得分:0)
在您的活动中制作“giftList”全局变量。 通过Constructor将上下文发送到AsyncTask。 现在您可以按如下方式访问该变量:
private static class MyAsyncTask extends AsyncTask<Void, Void, Void> {
ArrayList<giftsListFormat> giftList;
private MyAsyncTask (Activity activity) {
giftList = activity. giftList;
giftsListFormat ref = giftList.get(pos);
}
}
答案 2 :(得分:0)
创建一个giftsListFormat类,如:
public class giftsListFormat{
String id;
String name;
String url;
String points;
//create constructure and assign parameters which you want to set
public giftsListFormat(String id, String name,String url, String points){
this.id = id;
this.name = name;
this.url = url;
this.points = points;
}
public getId(){
return id;
}
public getName(){
return name;
}
public getUrl(){
return url;
}
public getPoints(){
return points;
}
}
并使用此类,如:ArrayList<giftsListFormat>...
内部AsyncTask
在初始化时设置所有数据。比如:
giftsListFormat mData = new giftsListFormat(id, name, url, points);
当你想要使用get方法......