如果变量为++;作为计数++;下一页如何在java/android中返回以使应用程序不会崩溃为空
我必须动态更改我的url,以便android应用程序使用Wordpress Rest API进行分页,它在我的应用程序中正常工作并加载,但在加载最后一页后,count++为空,只是在最后一页应用程序崩溃后滚动更多,所以如何返回空值,以便应用程序不会崩溃如果变量为++;作为计数++;下一页如何在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
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()