我只是想将数组添加到我的自定义类中,比如“Dog”类到数组,然后将它放到Intent中,之后我想使用getIntent()得到额外的东西.getExtra()......但是我很挣扎。
ArrayList<String> list = new ArrayList<String>();
JSONArray jobList = (JSONArray) response.get("sonuclar");
JSONObject jsonObject;
for( int i = 0; i < jobList.length(); i++) {
jsonObject = jobList.getJSONObject(i);
String jobTitle = jsonObject.getString("baslik");
String firmName = jsonObject.getString("firma_adi");
String jobDate = jsonObject.getString("tarih");
String jobSummary = "" ;
String jobImageURL = jsonObject.getString("logo");
jobItem = new JobItem(jobTitle,firmName, jobDate, jobSummary, jobImageURL);
list.add(jobItem);
}
// this code will start new intent
goJobListView(list);
/* intent view */
private void goJobListView(Object[] results) {
Intent jobIntent = new Intent(this, JobListActivity.class);
jobIntent.putExtra("job_data", results);
startActivity(jobIntent);
}
这是我的麻烦,我如何从另一个活动中获取该自定义类JobItem。
谢谢。
答案 0 :(得分:0)
如何向数组中添加自定义类并传递Intent
简单方法是标记自定义类Serializable
,然后使用intent.putExtra(key,custom_class_object_arraylist);
将数据发送到下一个活动。
在下一个Activity中使用intent.getSerializableExtra
方法从Intent获取自定义对象数组:
Intent intent = getIntent();
ArrayList<JobItem> job_data =
(ArrayList<JobItem>)intent.getSerializableExtra("job_data");
第二个好方法是将JobItem
类标记为Parcelable
,然后使用Intent.putParcelableArrayListExtra
和Intent.getParcelableArrayListExtra
从Intent发送并获取自定义对象列表。
有关更多帮助,您可以看到以下示例: Android: Passing ArrayList of Object Within an Intent