我的问题非常简单。我正在下载以下内容并在listview中解析数据。单击列表视图中的项目我打开一个详细信息页面,其中包含该项目的更多详细信息。我无法将此json数据发送到详细活动。我如何处理此活动以及详细活动?
我的行为代码:
public class Frontpage extends ActionBarActivity{
private String TAG = this.getClass().getSimpleName();
private ListView lstView;
private RequestQueue mRequestQueue;
private ArrayList<NewsModel> arrNews ;
private LayoutInflater lf;
private VolleyAdapter va;
private ProgressDialog pd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.trending);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Intent newActivity4=new Intent();
setResult(RESULT_OK, newActivity4);
lf = LayoutInflater.from(this);
arrNews = new ArrayList<NewsModel>();
va = new VolleyAdapter();
lstView = (ListView) findViewById(R.id.listView);
lstView.setAdapter(va);
mRequestQueue = Volley.newRequestQueue(this);
String url = "http://pipes.yahooapis.com/pipes/pipe.run?_id=giWz8Vc33BG6rQEQo_NLYQ&_render=json";
pd = ProgressDialog.show(this,"Loading...","Please Wait...");
pd.setCancelable(true);
try{
}catch(Exception e)
{
}
JsonObjectRequest jr = new JsonObjectRequest
(Request.Method.GET,url,null,new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.i(TAG,response.toString());
parseJSON(response);
va.notifyDataSetChanged();
pd.dismiss();
; }
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
if (error instanceof NoConnectionError){
Toast.makeText(getBaseContext(), "Bummer..There's No Internet connection!", Toast.LENGTH_LONG).show();
}};
});
mRequestQueue.add(jr);
}
@Override
public void onDestroy() {
super.onDestroy();
dismissPd();
}
private void dismissPd() {
if (pd != null) {
pd.dismiss();
pd = null;
}
}
private void parseJSON(JSONObject json){
try{
JSONObject value = json.getJSONObject("value");
JSONArray items = value.getJSONArray("items");
for(int i=0;i<items.length();i++){
JSONObject item = items.getJSONObject(i);
NewsModel nm = new NewsModel();
nm.setTitle(item.optString("title"));
nm.setDescription(item.optString("description"));
nm.setLink(item.optString("link"));
nm.setPubDate(item.optString("pubDate"));
arrNews.add(nm);
}
lstView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent intent = new Intent(Frontpage.this, NewsDetails.class);
startActivity(intent);
}
});}
catch(Exception e){
e.printStackTrace();
}
}
&#13;
Log cat:
12-29 22:33:07.701:E / Trace(1210):错误打开跟踪文件:没有这样的文件或目录(2) 12-29 22:33:07.751:W / dalvikvm(1210):拒绝重新开启DEX&#39; /system/framework/hwframework.jar' 12-29 22:33:08.021:W / System.err(1210):无效的int:&#34;&#34; 12-29 22:33:09.541:I / Adreno200-EGL(1210):: EGL 1.4 QUALCOMM build:AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.01.21.010_msm8625_JB_REL_2.0.3_Merge_release_AU(Merge) 12-29 22:33:09.541:I / Adreno200-EGL(1210):建造日期:10/26/12周五 12-29 22:33:09.541:I / Adreno200-EGL(1210):当地分公司: 12-29 22:33:09.541:I / Adreno200-EGL(1210):远程分支:quic / jb_rel_2.0.3 12-29 22:33:09.541:I / Adreno200-EGL(1210):本地补丁:无 12-29 22:33:09.541:I / Adreno200-EGL(1210):重建分支:AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.01.21.010 + NOTHING 12-29 22:33:10.181:I / Choreographer(1210):跳过45帧!应用程序可能在其主线程上做了太多工作。 12-29 22:33:19.971:I / Choreographer(1210):跳过43帧!应用程序可能在其主线程上做了太多工作。 12-29 22:33:41.561:I / Frontpage(1210):{&#34; value&#34;:{&#34; callback&#34;:&#34;&#34;,&#34; generator& #34;:&#34; http://pipes.yahooapis.com/pipes/",&#34; pubDate&#34;:&#34; Mon,29 Dec 2014 19:33:38 + 0000& #34;,&#34; title&#34;:&#34; Cycling News&#34;,&#34; items&#34;:[{&#34; guid&#34;:{&#34; content&# 34;:&#34;瓮:newsml:sports.yahoo,乐高:19780928:顶部,物品5d2ebd25-84e5-3b2c-9939-fa928362f76e -1-:1&#34;&#34; isPermaLink&#34;:& #34; false&#34;},&#34; pubDate&#34;:&#34; Thu,2014年12月25日05:06:03 PST&#34;,&#34; category&#34;:&#34; SC&#34;,&#34; title&#34;:&#34; Trott宣布与英国队友肯尼(路透社)签约,&#34; y:title&#34;:&#34; Trott宣布与英国队友Kenny(路透社)订婚,&#34; y:id&#34;:{&#34;价值&#34;:&#34; urn:newsml:sports.yahoo,lego: 19780928:顶部,物品5d2ebd25-84e5-3b2c-9939-fa928362f76e -1-:1&#34;&#34;固定链接&#34;:&#34;假&#34;}&#34;描述&#34; :&#34;伦敦(路透社) - 英国奥运会田径自行车金牌得主Laura Trott和Jason Ken你要打结。每个人都圣诞快乐。感谢@ JasonKenny107以及整个家庭#engaged \&#34;我在周四的Twitter上写道,我有最惊人的几天。 22岁的特罗特在2012年伦敦奥运会上获得两枚金牌,同时26岁的肯尼也在团队冲刺和个人冲刺中登上领奖台。预计两人都将成为2016年里约奥运会英国队的一员。(Martyn Herman编辑)&#34;,&#34;链接&#34;:&#34; http://us.rd.yahoo的.com /运动/ RSS / SC / SIG = 137v5fe67 / 的http%3A // sports.yahoo.com /消息/特洛特-宣布与卡合英国队友-肯尼-130603685 - spt.html&# 34;,&#34; Y:出版&#34; {&#34;分钟&#34;:&#34; 6&#34;&#34; DAY_OF_WEEK&#34;:&#34; 4&#34; &#34; UTIME&#34;:&#34; 1419512763&#34;&#34;时区&#34;:&#34; UTC&#34;&#34; DAY_NAME&#34;:&#34;周四&#34;&#34;第二&#34;:&#34; 3&#34;&#34; day_ordinal_suffix&#34;:&#34;第&#34;&#34;一个月&#34 ;: &#34; 12&#34;&#34;一年&#34;:&#34; 2014&#34;&#34; MONTH_NAME&#34;:&#34;十二月&#34;&#34;天& #34;:&#34; 25&#34;&#34;小时&#34;:&#34; 13&#34;}&#34; Y:repeatcount&#34;:&#34; 1&#34 ;},{&#34; GUID&#34; {&#34;内容&#34;:&#34;瓮:newsml:sports.yahoo,乐高:19780928:顶部,物品d8de91ac-8da9-3d9d-81bb -79a44e8d3c41-l:1&#34;,&#34; isPermaLink&#34;:&#34; false&#34;},&#34; pubDate&#34;:&#34; Fri,2014年12月19日16:26 :26 PST&#34;,&#34;媒体:conten T&#34 ;: {&#34;类型&#34;:&#34;图像/ JPEG&#34;&#34; URL&#34;:&#34; HTTP://l.yimg.com/iu /api/res/1.2/kuPd5jCbslBsMo8k0akURQ--/YXBwaWQ9eXZpZGVvO2NoPTIwMDA7Y3I9MTtjdz0yMDAwO2R4PTUwMTtkeT0xO2ZpPXVsY3JvcDtoPTEzMDtxPTEwMDt3PTEzMA--/http://media.zenfs.com/en_us/Sports/ap/201412191711618863458","width":"130& #34;&#34;高度&#34;:&#34; 130&#34;}&#34;类别&#34;:&#34; SC&#34;&#34;标题&#34 ;: &#34; 2阿姆斯特朗的同事与Landis(美联社)和#34;&#34; y:title&#34;:&#34; 2阿姆斯特朗的同事与Landis(美联社)解决诉讼&# 34;,&#34; Y:ID&#34; {&#34;值&#34;:&#34;瓮:newsml:sports.yahoo,乐高:19780928:顶部,物品d8de91ac-8da9-3d9d- 81bb-79a44e8d3c41 -1-:1&#34;&#34;固定链接&#34;:&#34;假&#34;}&#34;描述&#34;:&#34;
&lt; / a&gt;&lt; / p&gt;
德克萨斯州奥斯汀(美联社) - 兰斯阿姆斯特朗的两位长期合作伙伴已同意向联邦政府支付50万美元以解决提起的举报人诉讼前队友Floyd Landis。&lt; / p&gt;&#34;,&#34;媒体:信用&#34;:{&#34;内容&#34;:&#34;美联社&#34;,&# 34;作用&#34;:&#34;提供商&#34;}&#34;连结&#34;:&#34; HTTP://us.rd.yahoo.com/sports/rss/sc/SIG= 13141nrib / HTTP%3A // sports.yahoo.com /消息/ 2-阿姆斯特朗缔结算的-诉讼-兰迪斯-223026201 - spt.html&#34;&#34;介质:文本&#34 ;:{&#34;内容&#34;:&#34;文件 - 在2011年2月15日的档案照片中,Lance Armstrong在德克萨斯州奥斯汀的一次采访中停顿了一下。 Lance Armstrong的两位长期合作伙伴已同意向联邦政府支付50万美元,用于解决前队友Floyd Landis于12月19日星期五提起的举报人诉讼。 12-29 22:33:42.721:I / Choreographer(1210):跳过33帧!应用程序可能在其主线程上做了太多工作。 12-29 22:33:54.031:W / dalvikvm(1210):threadid = 1:线程退出,未捕获异常(group = 0x4159c438) 12-29 22:33:57.481:E / Trace(2300):错误打开跟踪文件:没有这样的文件或目录(2) 12-29 22:33:57.531:W / dalvikvm(2300):拒绝重启开机DEX&#39; /system/framework/hwframework.jar' 12-29 22:33:57.651:W / System.err(2300):无效的int:&#34;&#34; 12-29 22:33:58.181:I / Adreno200-EGL(2300):: EGL 1.4 QUALCOMM build:AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.01.21.010_msm8625_JB_REL_2.0.3_Merge_release_AU(Merge) 12-29 22:33:58.181:I / Adreno200-EGL(2300):建造日期:10/26/12周五 12-29 22:33:58.181:I / Adreno200-EGL(2300):当地分公司: 12-29 22:33:58.181:I / Adreno200-EGL(2300):远程分支:quic / jb_rel_2.0.3 12-29 22:33:58.181:I / Adreno200-EGL(2300):本地补丁:无 12-29 22:33:58.181:I / Adreno200-EGL(2300):重建分支:AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.01.21.010 + NOTHING
答案 0 :(得分:0)
您可以使用Intent将简单数据从一个活动发送到另一个活动。您可以使用以下内容将JSON数据作为String传递:
intent.putExtra("OBJECT_DETAILS", myJSONString);
稍后您可以阅读下一个活动:
String myJsonData= i.getStringExtra("OBJECT_DETAILS");