-1
如何從onResponse()
凌空退回onCreate()
?我怎樣才能從onResponse返回值onCreate?
在波紋管源代碼中,我需要返回jsonInstagramList
到onCreate()
。
public class MainActivity extends Activity {
private static final String ENDPOINT = "https://.......";
private RequestQueue requestQueue;
private Gson gson;
private RecyclerView start_recyclerView;
private Adapter mAdapter;
protected Handler handler;
private List<JsonInstagram> jsonInstagramList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
start_recyclerView = (RecyclerView) findViewById(R.id.start_recyclerView);
start_recyclerView.setLayoutManager(new LinearLayoutManager(this));
start_recyclerView.setItemAnimator(new DefaultItemAnimator());
requestQueue = Volley.newRequestQueue(getApplicationContext());
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setDateFormat("M/d/yy hh:mm a");
gson = gsonBuilder.create();
fetchPosts();
}
private void fetchPosts() {
StringRequest request = new StringRequest(Request.Method.GET, ENDPOINT, onPostsLoaded, onPostsError);
requestQueue.add(request);
}
private final Response.Listener<String> onPostsLoaded = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Document doc = Jsoup.parse(response);
Element links = doc.select("script").get(3);
String content = links.html();
String res1 = content.replaceAll("window._sharedData = ", "");
String finalRes = res1.replaceAll("\\}\\;", "}");
jsonInstagramList = Collections.singletonList(gson.fromJson(finalRes, JsonInstagram.class));
mAdapter = new Adapter(
jsonInstagramList.get(0).getEntryData().getProfilePage().get(0).getUser().getMedia().getNodes(),
start_recyclerView
);
start_recyclerView.setAdapter(mAdapter);
}
};
private final Response.ErrorListener onPostsError = new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(MainActivity.class.getSimpleName(), error.toString());
}
};
}