我想动态地传递值,在类函数中使用for循环来保存数据,那么如何在java中这样做呢?
当我实现这段代码时,只放一个图像,我想把这个值传递给for循环。
我把我的代码放在这里检查一下
CustomData.java
/** 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
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);
}
}
}
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"),
};
发布于 2014-02-15 09:10:41
使用
CustomData mCustomData= new CustomData(image);
若要初始化,则应将其存储在ArrayList
中,以便以后访问数据。
更新
CustomData[] dataList = new CustomData[SIZE];
for(int i = 0; i < SIZE; i++)
{
dataList[i] = new CustomData(image);
}
如果您没有固定的大小,那么使用
ArrayList<CustomData> dataList = new ArrayList<CustomData>();
dataList.add(new CustomData(image));
and to retrieve use
dataList.get(position);
试一试
public CustomData[] mCustomData; // Remove initialization
在MenuAsynctask
doInBackground
内部
mCustomData = new CustomData[jcontent.length()];
看起来不错
https://stackoverflow.com/questions/21795520
复制相似问题