截取json数组只获取最后一个元素 package net.myaapp.app.weatherapp; 导入android.os.Handler; 导入android.support.v7.app.AppActivity; 导入android.os.Bundle; 导入android.widget.TextView; 导入com.android.volley.Request; 导入com.android.volley.RequestQueue; 导入com.android.volley.Response; 导入com.android.volley.VolleyError; 导入com.android.volley.toolbox.JsonArrayRequest; 导入com.android.volley.toolbox.JsonObjectRequest; 导入com.android.volley.toolbox.volley; 导入org.json.JSONArray; 导入org.json.JSONException; 导入org.json.JSONObject; 导入java.text.DateFormat; 导入java.text.simpleDataFormat; 导入java.util.Date; 公共类新闻源扩展了AppCompatActivity{ 请求队列rq; 文本查看消息标题; 私有字符串消息; 字符串url=”https://graph.facebook.com/v2.10/"; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_newsfeed); rq=Volley.newRequestQueue(this); message_title=(TextView)findViewById(R.id.message_提要); sendjsonrequest(); } public void sendjsonrequest(){ JsonObjectRequest JsonObjectRequest=新的JsonObjectRequest(Request.Method.GET,url,null,new Response.Listener()){ @凌驾 公共void onResponse(JSONObject响应){ 试一试{ JSONObject提要=response.getJSONObject(“提要”); JSONArray JSONArray=feed.getJSONArray(“数据”); 对于(int i=0;i
我认为这是因为每次循环JSON数组时,您都会用一条新消息覆盖文本视图内容。因此,如果您想显示所有消息,最好将新消息附加到以前循环的消息中,并在循环外打印截取json数组只获取最后一个元素 package net.myaapp.app.weatherapp; 导入android.os.Handler; 导入android.support.v7.app.AppActivity; 导入android.os.Bundle; 导入android.widget.TextView; 导入com.android.volley.Request; 导入com.android.volley.RequestQueue; 导入com.android.volley.Response; 导入com.android.volley.VolleyError; 导入com.android.volley.toolbox.JsonArrayRequest; 导入com.android.volley.toolbox.JsonObjectRequest; 导入com.android.volley.toolbox.volley; 导入org.json.JSONArray; 导入org.json.JSONException; 导入org.json.JSONObject; 导入java.text.DateFormat; 导入java.text.simpleDataFormat; 导入java.util.Date; 公共类新闻源扩展了AppCompatActivity{ 请求队列rq; 文本查看消息标题; 私有字符串消息; 字符串url=”https://graph.facebook.com/v2.10/"; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_newsfeed); rq=Volley.newRequestQueue(this); message_title=(TextView)findViewById(R.id.message_提要); sendjsonrequest(); } public void sendjsonrequest(){ JsonObjectRequest JsonObjectRequest=新的JsonObjectRequest(Request.Method.GET,url,null,new Response.Listener()){ @凌驾 公共void onResponse(JSONObject响应){ 试一试{ JSONObject提要=response.getJSONObject(“提要”); JSONArray JSONArray=feed.getJSONArray(“数据”); 对于(int i=0;i,java,android,json,facebook,Java,Android,Json,Facebook,我认为这是因为每次循环JSON数组时,您都会用一条新消息覆盖文本视图内容。因此,如果您想显示所有消息,最好将新消息附加到以前循环的消息中,并在循环外打印 package net.myaapp.app.weatherapp; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; im
package net.myaapp.app.weatherapp;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonArrayRequest;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class newsfeed extends AppCompatActivity {
RequestQueue rq;
TextView message_title;
private String message ;
String url = "https://graph.facebook.com/v2.10/";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_newsfeed);
rq = Volley.newRequestQueue(this);
message_title = (TextView)findViewById(R.id.message_feed) ;
sendjsonrequest();
}
public void sendjsonrequest() {
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONObject feed = response.getJSONObject("feed");
JSONArray jsonArray = feed.getJSONArray("data");
for (int i=0;i<jsonArray.length();i++){
JSONObject data = jsonArray.getJSONObject(i);
message = data.getString("message");
message_title.setText(message);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
rq.add(jsonObjectRequest);
}
private String getDate(long timeStamp) {
try {
DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss");
Date netDate = (new Date(timeStamp));
return sdf.format(netDate);
} catch (Exception ex) {
return "xx";
}
}
}
for(int i=0;iVolley的JsonObjectRequest有一些问题…请改用StringRequest
for (int i=0;i<jsonArray.length();i++){
JSONObject data = jsonArray.getJSONObject(i);
message += data.getString("message")+"\n";
}
message_title.setText(message);