首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >android中存储类数组的动态类值?

android中存储类数组的动态类值?
EN

Stack Overflow用户
提问于 2014-02-15 09:06:30
回答 1查看 808关注 0票数 0

我想动态地传递值,在类函数中使用for循环来保存数据,那么如何在java中这样做呢?

当我实现这段代码时,只放一个图像,我想把这个值传递给for循环。

我把我的代码放在这里检查一下

CustomData.java

代码语言:javascript
运行
复制
/** This is just a simple class for holding data that is used to render our custom view */
public class CustomData 
{ 
    private String mText;

    public CustomData(String text) {

        mText = text;
    }
    public String getText() 
    {
        return mText;
    }

}

Activityclass.java

代码语言:javascript
运行
复制
 public class ListMobileActivity extends Activity { 

Button btnradio;
ListView lv;
private ProgressDialog mProgress;

ArrayList<HashMap<String, String>> menulist = new    ArrayList<HashMap<String,String>>();

ArrayList<String> test= new ArrayList<String>();

List<String> custom;
int size=1;
 public CustomData[] mCustomData= new CustomData[size];


 private HorizontalListView myhorizontalview;


@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.listmobileactivity);

    myhorizontalview = (HorizontalListView) findViewById(R.id.myhorizontalview);

    new MenuAsynctask().execute("");

    myhorizontalview.setOnItemClickListener(new OnItemClickListener() 
    {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) 
        {




        }


    });

}



public class MenuAsynctask extends AsyncTask<String, ArrayList<HashMap<String,String>>,ArrayList<HashMap<String,String>>>
{

    @Override
    protected ArrayList<HashMap<String, String>> doInBackground(String... params) 
    {

        try 
        {
                JsonParser jparser = new JsonParser();

                String url="http://www.weboffice.co.at/webservices/services.php?method=content";


                String data=jparser.getdata(url);
                //Log.e("data","--->"+data);

                JSONObject jobject = new JSONObject(data);

                JSONArray jcontent=jobject.getJSONArray("CONTENT");
                size=jcontent.length();
                for(int i=0;i<jcontent.length();i++)
                {

                    String title=jcontent.getJSONObject(i).get("title").toString();
                    String come=jcontent.getJSONObject(i).get("short").toString();
                    String image=jcontent.getJSONObject(i).get("image").toString();

                    mCustomData[i] = new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"); 
                }


        }
        catch (Exception e) 
        {
            e.printStackTrace();
        }

        return menulist;

    }

    @Override
    protected void onPostExecute(ArrayList<HashMap<String, String>> result) 
    {

        Log.e("data","--->"+mCustomData.toString());

        CustomArrayAdapter adapter = new CustomArrayAdapter(ListMobileActivity.this, mCustomData);
        myhorizontalview.setAdapter(adapter);

    }


}

}

代码语言:javascript
运行
复制
i want to create array like this how to achieve this

public CustomData[] mCustomData = new CustomData[] {
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
                new CustomData("http://www.allindiaflorist.com/imgs/arrangemen4.jpg"),
        };
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-15 09:10:41

使用

CustomData mCustomData= new CustomData(image);

若要初始化,则应将其存储在ArrayList中,以便以后访问数据。

更新

代码语言:javascript
运行
复制
CustomData[] dataList = new CustomData[SIZE]; 

for(int i = 0; i < SIZE; i++)
{
    dataList[i] = new CustomData(image); 
}

如果您没有固定的大小,那么使用

代码语言:javascript
运行
复制
ArrayList<CustomData> dataList = new ArrayList<CustomData>();
dataList.add(new CustomData(image));

and to retrieve use

dataList.get(position);

试一试

代码语言:javascript
运行
复制
 public CustomData[] mCustomData; // Remove initialization

MenuAsynctask doInBackground内部

代码语言:javascript
运行
复制
mCustomData = new CustomData[jcontent.length()];

看起来不错

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21795520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档