-6
ここでは、データベースから値を取得してListViewにリストしていますが、20項目後にListViewの最後までスクロールしたときにListViewに項目を追加したい場合は、しかし、ユーザーが最後までスクロールすると、ListViewは完全に消去され、新しい項目が追加されます。しかし、私はここで androidのListViewに項目を追加する方法
は私のAndroidのコードです...新しいアイテムが以前のリスト自体の末尾に追加する必要があります。 これは時のonCreate()public void getLocalJobs() {
empty.setVisibility(TextView.GONE);
String url = ConfigCuboid.GET_JOBS_LOCAL;
String url1 = Tags;
String URL = url + url1;
StringRequest stringRequest = new StringRequest(URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
showJSONLocal(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
@TargetApi(Build.VERSION_CODES.M)
private void showJSONLocal(String response) {
ParseJSONLocal pj = new ParseJSONLocal(response);
pj.parseJSONLocal();
CustomListLocal c1 = new CustomListLocal(this, ParseJSONLocal.job_local_id, ParseJSONLocal.user_names, ParseJSONOnline.job_typess, ParseJSONLocal.job_titles, ParseJSONLocal.job_works,
ParseJSONLocal.job_dates, ParseJSONLocal.job_months, ParseJSONLocal.job_years,
ParseJSONLocal.job_times, ParseJSONLocal.job_periods, ParseJSONLocal.job_areas, ParseJSONLocal.job_rates,
ParseJSONLocal.user_ids, ParseJSONLocal.job_detailss, ParseJSONLocal.image, ParseJSONLocal.regtoken
, ParseJSONLocal.verify);
listViewWork.setAdapter(c1);
Toast.makeText(getApplicationContext(),"ListNo=="+CustomListLocal.LastLocalJobId,Toast.LENGTH_SHORT).show();
if (c1.isEmpty()) {
empty.setVisibility(TextView.VISIBLE);
pb.setVisibility(ProgressBar.GONE);
}
listViewWork.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int poss, long id) {
Intent is = new Intent(getApplicationContext(), WorkProfileLocal.class);
is.putExtra("Positions", poss);
startActivity(is);
}
});
listViewWork.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view,
int firstVisibleItem, int visibleItemCount, int totalItemCount) {
//Algorithm to check if the last item is visible or not
final int lastItem = firstVisibleItem + visibleItemCount;
if (lastItem == totalItemCount) {
// you have reached end of list, load more data
// Toast.makeText(getApplicationContext(),"ListIsOver",Toast.LENGTH_SHORT).show();
Toast.makeText(getApplicationContext(),"ListNo=="+CustomListLocal.LastLocalJobId,Toast.LENGTH_SHORT).show();
LoadLocalList();
}
}
});
}
で実行されます
リストビューの端部は、このメソッドが実行されます。
public void LoadLocalList(){
empty.setVisibility(TextView.GONE);
String url = ConfigCuboid.GET_LOADED_JOBS_LOCAL;
String urll1="last_local_job_id=";
String urll11 = CustomListLocal.LastLocalJobId;
String urll="&job_title[]=";
String url1 = Tags;
String URL = url + urll1+urll11+urll+url1;
StringRequest stringRequest = new StringRequest(URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
showJSONLocall(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
@TargetApi(Build.VERSION_CODES.M)
private void showJSONLocall(String response) {
ParseJSONLocal pj = new ParseJSONLocal(response);
pj.parseJSONLocal();
CustomListLocal c2 = new CustomListLocal(this, ParseJSONLocal.job_local_id, ParseJSONLocal.user_names, ParseJSONOnline.job_typess, ParseJSONLocal.job_titles, ParseJSONLocal.job_works,
ParseJSONLocal.job_dates, ParseJSONLocal.job_months, ParseJSONLocal.job_years,
ParseJSONLocal.job_times, ParseJSONLocal.job_periods, ParseJSONLocal.job_areas, ParseJSONLocal.job_rates,
ParseJSONLocal.user_ids, ParseJSONLocal.job_detailss, ParseJSONLocal.image, ParseJSONLocal.regtoken
, ParseJSONLocal.verify);
listViewWork.setAdapter(c2);
Toast.makeText(getApplicationContext(),"ListNo=="+CustomListLocal.LastLocalJobId,Toast.LENGTH_SHORT).show();
if (c2.isEmpty()) {
empty.setVisibility(TextView.VISIBLE);
pb.setVisibility(ProgressBar.GONE);
}
listViewWork.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int poss, long id) {
Intent is = new Intent(getApplicationContext(), WorkProfileLocal.class);
is.putExtra("Positions", poss);
startActivity(is);
}
});
}