Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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中返回以使应用程序不会崩溃为空_Java_Android_Json_Retrofit2 - Fatal编程技术网

如果变量为++;作为计数++;下一页如何在java/android中返回以使应用程序不会崩溃为空

如果变量为++;作为计数++;下一页如何在java/android中返回以使应用程序不会崩溃为空,java,android,json,retrofit2,Java,Android,Json,Retrofit2,我必须动态更改我的url,以便android应用程序使用Wordpress Rest API进行分页,它在我的应用程序中正常工作并加载,但在加载最后一页后,count++为空,只是在最后一页应用程序崩溃后滚动更多,所以如何返回空值,以便应用程序不会崩溃 count = 0; public void getRetrofit(){ int numberPage = count++; String url = "https://example.com/wp-json

我必须动态更改我的url,以便android应用程序使用Wordpress Rest API进行分页,它在我的应用程序中正常工作并加载,但在加载最后一页后,count++为空,只是在最后一页应用程序崩溃后滚动更多,所以如何返回空值,以便应用程序不会崩溃

count = 0;
public void getRetrofit(){

        int numberPage = count++;

        String url = "https://example.com/wp-json/wp/v2/posts?page="+numberPage;
请任何人帮助我解决以下Java代码的此问题。如果有人帮助我,我会非常感激的,因为我从许多天中感到沮丧。下面是我下面的java代码。我知道我必须插入像if(count++==null){return;}这样的内容,但我能想出办法。再次感谢你

public class MainActivity extends AppCompatActivity {

    private RecyclerView recyclerView;
    private ProgressBar progressBar;
    private LinearLayoutManager mLayoutManager;
    private ArrayList<Model> list;
    private RecyclerViewAdapter adapter;

    Boolean isScrolling = false;
    int currentItems, totalItems, scrollOutItems;
    int count = 1;

    private String baseURL = "https://example.com";

    public static List<WPPost> mListPost;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
        progressBar = (ProgressBar) findViewById(R.id.progressbar);

        mLayoutManager = new LinearLayoutManager(MainActivity.this, LinearLayoutManager.VERTICAL, false);
        recyclerView.setLayoutManager(mLayoutManager);

        list = new ArrayList<Model>();

        adapter = new RecyclerViewAdapter( list, MainActivity.this);

        recyclerView.setAdapter(adapter);

        recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
                super.onScrollStateChanged(recyclerView, newState);
                if(newState == AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL)
                {
                    isScrolling = true;
                }
            }

            @Override
            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);
                currentItems = mLayoutManager.getChildCount();
                totalItems = mLayoutManager.getItemCount();
                scrollOutItems = mLayoutManager.findFirstVisibleItemPosition();

                if(isScrolling && (currentItems + scrollOutItems == totalItems))
                {
                    isScrolling = false;
                    getRetrofit();

                }
            }


        });
        getRetrofit();

    }
    public void getRetrofit(){

        int numberPage = count++;

        String url = "https://example.com/wp-json/wp/v2/posts?page="+numberPage;

        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(baseURL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        RetrofitArrayApi service = retrofit.create(RetrofitArrayApi.class);
        Call<List<WPPost>>  call = service.getPostInfo(url);

        call.enqueue(new Callback<List<WPPost>>() {
            @Override
            public void onResponse(Call<List<WPPost>> call, Response<List<WPPost>> response) {
                Log.e("mainactivyt", " response "+ response.body());
                mListPost = response.body();
                progressBar.setVisibility(View.GONE);
                for (int i=0; i<response.body().size();i++){
                   list.addAll(list.getItems());
                }
                adapter.notifyDataSetChanged();
            }

            @Override
            public void onFailure(Call<List<WPPost>> call, Throwable t) {

            }
        });

    }
    public static List<WPPost> getList(){
        return  mListPost;
    }

}
您的代码在此崩溃

for (int i=0; i<response.body().size();i++)

为空

numberPage为“int”。这些值不能为空。如果您看到的是NullPointerException,这并不是因为numerPage为null(url在代码段中也不能为null)。还有其他内容,但您尚未粘贴相关部分以便能够识别。您确定count hold null吗?因为如果count可为null,它应该生成编译时错误。您可以将代码发布到调用
getreformation()
的位置,以及要测试
count
的null性的位置吗?使用上面的代码,计数不能为空。我已经添加了完整的代码,但我无法修复它,请先生帮助我,我完全沮丧。@KatrinaPathak最好也发布异常的堆栈跟踪
for (int i=0; i<response.body().size();i++)
response.body()