Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在凌空中执行操作后,对象的android Arraylist为空_Java_Android_Arraylist_Android Volley - Fatal编程技术网

Java 在凌空中执行操作后,对象的android Arraylist为空

Java 在凌空中执行操作后,对象的android Arraylist为空,java,android,arraylist,android-volley,Java,Android,Arraylist,Android Volley,我想在执行截击操作后访问Arraylist,但每次尝试访问时都会显示IndexOutOfBoundException。如何在OnCreate方法中的onResponse方法中访问Arraylist?感谢您的帮助,谢谢 public class MovieDetailsActivity extends AppCompatActivity { TextView movieIdText; private VolleySingleton volleySingleton; pri

我想在执行截击操作后访问Arraylist,但每次尝试访问时都会显示IndexOutOfBoundException。如何在OnCreate方法中的onResponse方法中访问Arraylist?感谢您的帮助,谢谢

 public class MovieDetailsActivity extends AppCompatActivity {
    TextView movieIdText;
    private VolleySingleton volleySingleton;
    private RequestQueue mRequestQueue;
    private ArrayList<MovieDetails> detailsMovies = new ArrayList<>();
    private ArrayList<MovieDetails> detailsUrl = new ArrayList<>();
    public String youtubeVideoId;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_movie_details);
        Intent i = getIntent();
        String movieId = i.getExtras().getString("movieId");
        volleySingleton = VolleySingleton.getsInstance();
        mRequestQueue = VolleySingleton.getmRequestQueue();
        parseMovieDetails();
        Toast.makeText(getApplicationContext(),detailsMovies.get(0).getYoutube_id(),Toast.LENGTH_LONG).show();


}
    public void parseMovieDetails(){



        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, getUrl(100), new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                MovieDetails movieDetails = new MovieDetails();
                if (response == null || response.length() == 0) {
                    Toast.makeText(getApplicationContext(), "Null Object", Toast.LENGTH_LONG).show();
                }

                try {

                    JSONObject movieData = response.getJSONObject("data");
                    JSONObject movieDetailsObject = movieData.getJSONObject(Keys.EndPointMovieDetails.KEYS_MOVIE);
                    String movieTitle = movieDetailsObject.getString(Keys.EndPointMovieDetails.KEYS_TITLE_LONG);
                    long movieRating = movieDetailsObject.getInt(Keys.EndPointMovieDetails.KEYS_RATING);
                    String movieSynopsis = movieDetailsObject.getString(Keys.EndPointMovieDetails.KEYS_DESCRIPTION);
                    String moviePosterUrl = movieDetailsObject.getString(Keys.EndPointMovieDetails.KEYS_COVER);
                    String movieYoutubeId = movieDetailsObject.getString(Keys.EndPointMovieDetails.KEY_YOUTUBE_ID);
                    movieDetails.setTitle(movieTitle);
                    movieDetails.setRating(movieRating);
                    movieDetails.setSummary(movieSynopsis);
                    movieDetails.setUrlThumbnail(moviePosterUrl);
                    movieDetails.setYoutube_id(movieYoutubeId);
                    detailsMovies.add(movieDetails);

                    JSONArray torrentDownloadLinks = movieDetailsObject.getJSONArray(Keys.EndPointMovieDetails.KEYS_TORRENTS);
                    for(int i=0;i<torrentDownloadLinks.length();i++) {
                        JSONObject urlInfo = torrentDownloadLinks.getJSONObject(i);
                        String urlTorrent = urlInfo.getString("url");
                        String quality = urlInfo.getString("quality");
                        String fileSize = urlInfo.getString("size");

                        movieDetails.setDownloadLink(urlTorrent);
                        movieDetails.setQuality(quality);
                        movieDetails.setFileSize(fileSize);
                        detailsMovies.add(movieDetails);
                    }

                } catch (JSONException e) {
                    e.printStackTrace();
                }


            }

        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {

            }
        });
        mRequestQueue.add(jsonObjectRequest);

    }

    public String getUrl(int movieId){
        return UrlEndPoints.URL_MOVIE_DETAILS+
                UrlEndPoints.URl_CHAR_QUESTION+
                UrlEndPoints.URL_PARAM_ID+movieId;
    }



}
公共类MovieDetailsActivity扩展了AppCompativeActivity{
TextView电影文本;
单打单打单打单打单打单打;
私有请求队列mRequestQueue;
私有ArrayList detailsMovies=新ArrayList();
private ArrayList detailsUrl=new ArrayList();
公共字符串youtubeVideoId;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u movie\u details);
Intent i=getIntent();
String movieId=i.getExtras().getString(“movieId”);
volleySingleton=volleySingleton.getsInstance();
mRequestQueue=VolleySingleton.getmRequestQueue();
parseMovieDetails();
Toast.makeText(getApplicationContext(),detailsMovies.get(0).getYoutube_id(),Toast.LENGTH_LONG.show();
}
公共电影详细信息(){
JsonObjectRequest JsonObjectRequest=新的JsonObjectRequest(Request.Method.GET,getUrl(100),new Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
MovieDetails MovieDetails=新的MovieDetails();
if(response==null | | response.length()==0){
Toast.makeText(getApplicationContext(),“Null对象”,Toast.LENGTH_LONG.show();
}
试一试{
JSONObject movieData=response.getJSONObject(“数据”);
JSONObject movieDetailsObject=movieData.getJSONObject(Keys.EndPointMovieDetails.Keys\u MOVIE);
String movieTitle=movieDetailsObject.getString(Keys.EndPointMovieDetails.Keys\u TITLE\u LONG);
long movieRating=movieDetailsObject.getInt(key.EndPointMovieDetails.Keys\u RATING);
String movieSynopsis=movieDetailsObject.getString(key.EndPointMovieDetails.Keys\u DESCRIPTION);
String moviePosterUrl=movieDetailsObject.getString(key.EndPointMovieDetails.Keys\u COVER);
String movieYoutubeId=movieDetailsObject.getString(KEY.EndPointMovieDetails.KEY\u YOUTUBE\u ID);
电影详情。片名(电影字幕);
电影细节。设置(电影化);
电影详情.集摘要(电影综合);
setUrlThumbnail(moviePosterUrl);
movieDetails.setYoutube_id(movieYoutubeId);
detailsMovies.add(电影详情);
JSONArray torrentDownloadLinks=movieDetailsObject.getJSONArray(key.EndPointMovieDetails.Keys_TORRENTS);
对于(int i=0;i
public class MovieDetailsActivity扩展了appcompativity{
TextView电影文本;
单打单打单打单打单打单打;
私有请求队列mRequestQueue;
私有ArrayList detailsMovies=新ArrayList();
private ArrayList detailsUrl=new ArrayList();
公共字符串youtubeVideoId;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u movie\u details);
Intent i=getIntent();
String movieId=i.getExtras().getString(“movieId”);
volleySingleton=volleySingleton.getsInstance();
mRequestQueue=VolleySingleton.getmRequestQueue();
parseMovieDetails();
}
公共电影详细信息(){
JsonObjectRequest JsonObjectRequest=新的JsonObjectRequest(Request.Method.GET,getUrl(100),new Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
MovieDetails MovieDetails=新的MovieDetails();
if(response==null | | response.length()==0){
Toast.makeText(getApplicationContext(),“Null对象”,Toast.LENGTH_LONG.show();
}
试一试{
JSONObject movieData=response.getJSONObject(“数据”);
JSONObject movieDetailsObject=movieData.getJSONObject(Keys.EndPointMovieDetails.Keys\u MOVIE);
String movieTitle=movieDetailsObject.getString(Keys.EndPointMovieDetails.Keys\u TITLE\u LONG);
long movieRating=movieDetailsObject.getInt(key.EndPointMovieDetails.Keys\u RATING);
String movieSynopsis=movieDetailsObject.getString(key.EndPointMovieDetails.Keys\u DESCRIPTION);
String moviePosterUrl=movieDetailsObject.getString(key.EndPointMovieDetails.Keys\u COVER);
String movieYoutubeId=movieDetailsObject.getString(KEY.EndPointMovieDetails.KEY\u YOUTUBE\u ID);
电影详情。片名(电影字幕);
电影细节。设置(电影化);
电影详情.集摘要(电影综合);
setUrlThumbnail(moviePosterUrl);
movieDetails.setYoutube_id(movieYoutubeId);
detailsMovies.add(电影详情);
JSONArray torrentDownloadLinks=movieDetailsObject.getJSONArray(key.EndPointMovieDetails.Keys_TORRENTS);
对于(int i=0;i0){
Toast.makeText(getApplicationContext(),detailsMovies.get(0).getYoutube_id(),Toast.LENGTH_LONG.show();
}
}捕获(JSONException e){
e、 printStackTrace();
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
}
});
添加(jsonObjectRequest);
}
公共字符串getUrl(int movieId){
返回urlendops.URL
public class MovieDetailsActivity extends AppCompatActivity {
    TextView movieIdText;
    private VolleySingleton volleySingleton;
    private RequestQueue mRequestQueue;
    private ArrayList<MovieDetails> detailsMovies = new ArrayList<>();
    private ArrayList<MovieDetails> detailsUrl = new ArrayList<>();
    public String youtubeVideoId;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_movie_details);
        Intent i = getIntent();
        String movieId = i.getExtras().getString("movieId");
        volleySingleton = VolleySingleton.getsInstance();
        mRequestQueue = VolleySingleton.getmRequestQueue();
        parseMovieDetails();



}
    public void parseMovieDetails(){



        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, getUrl(100), new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                MovieDetails movieDetails = new MovieDetails();
                if (response == null || response.length() == 0) {
                    Toast.makeText(getApplicationContext(), "Null Object", Toast.LENGTH_LONG).show();
                }

                try {

                    JSONObject movieData = response.getJSONObject("data");
                    JSONObject movieDetailsObject = movieData.getJSONObject(Keys.EndPointMovieDetails.KEYS_MOVIE);
                    String movieTitle = movieDetailsObject.getString(Keys.EndPointMovieDetails.KEYS_TITLE_LONG);
                    long movieRating = movieDetailsObject.getInt(Keys.EndPointMovieDetails.KEYS_RATING);
                    String movieSynopsis = movieDetailsObject.getString(Keys.EndPointMovieDetails.KEYS_DESCRIPTION);
                    String moviePosterUrl = movieDetailsObject.getString(Keys.EndPointMovieDetails.KEYS_COVER);
                    String movieYoutubeId = movieDetailsObject.getString(Keys.EndPointMovieDetails.KEY_YOUTUBE_ID);
                    movieDetails.setTitle(movieTitle);
                    movieDetails.setRating(movieRating);
                    movieDetails.setSummary(movieSynopsis);
                    movieDetails.setUrlThumbnail(moviePosterUrl);
                    movieDetails.setYoutube_id(movieYoutubeId);
                    detailsMovies.add(movieDetails);

                    JSONArray torrentDownloadLinks = movieDetailsObject.getJSONArray(Keys.EndPointMovieDetails.KEYS_TORRENTS);
                    for(int i=0;i<torrentDownloadLinks.length();i++) {
                        JSONObject urlInfo = torrentDownloadLinks.getJSONObject(i);
                        String urlTorrent = urlInfo.getString("url");
                        String quality = urlInfo.getString("quality");
                        String fileSize = urlInfo.getString("size");

                        movieDetails.setDownloadLink(urlTorrent);
                        movieDetails.setQuality(quality);
                        movieDetails.setFileSize(fileSize);
                        detailsMovies.add(movieDetails);
                    }

                    if(detailsMovies!=null && detailsMovies.size()>0){
                    Toast.makeText(getApplicationContext(),detailsMovies.get(0).getYoutube_id(),Toast.LENGTH_LONG).show();
                    }

                } catch (JSONException e) {
                    e.printStackTrace();
                }


            }

        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {

            }
        });
        mRequestQueue.add(jsonObjectRequest);

    }

    public String getUrl(int movieId){
        return UrlEndPoints.URL_MOVIE_DETAILS+
                UrlEndPoints.URl_CHAR_QUESTION+
                UrlEndPoints.URL_PARAM_ID+movieId;
    }



}