Мое диалоговое окно прогресса не отображается в асинхронной задаче, если я закомментирую progressDialog.dismiss (); , то отображается диалоговое окно прогресса. Я получаю ответ от сервера и в фоновом режиме я вставляюданные в базе данных sqlite. После вставки данных я получаю данные из базы данных и показываю их в обзоре переработчика.
SubCategoryDetailActivity.java
public class SubCategoryDetailActivity extends AppCompatActivity {
RecyclerView recyclerViewSubCategoryDetail;
ArrayList<SubCategoryDetailModelClass> subCategoryListDetailModelClassArray;
SubCategoryDetailAdapter subCategoryDetailAdapter;
ProductListDBHelper productListDBHelper;
String subCategoryID;
ProgressDialog progressDialog;
ProgressBar progressBar;
TextView view_cart,view_report;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub_category_detail);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
productListDBHelper= new ProductListDBHelper(this);
view_cart=findViewById(R.id.txtv_view_cart);
view_report=findViewById(R.id.txtv_view_report);
recyclerViewSubCategoryDetail =findViewById(R.id.recyclerview_subcategory_detail);
subCategoryListDetailModelClassArray =new ArrayList<>();
Bundle mBundle = getIntent().getExtras();
if (mBundle != null) {
subCategoryID = String.valueOf(mBundle.getInt("SUBCATEGORY_ID"));
Log.d("alliqwwww","" +subCategoryID);
}
/* subCategoryListDetailModelClassArray=productListDBHelper.getSubCategoryProductDetail(subCategoryID);
recyclerViewSubCategoryDetail.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
subCategoryDetailAdapter =new SubCategoryDetailAdapter(this, subCategoryListDetailModelClassArray);
recyclerViewSubCategoryDetail.setAdapter(subCategoryDetailAdapter);*/
SubCategoryDetailInsertionAsyncTask myAsyncTasks = new SubCategoryDetailInsertionAsyncTask();
myAsyncTasks.execute();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
onBackPressed();
return super.onOptionsItemSelected(item);
}
private class SubCategoryDetailInsertionAsyncTask extends AsyncTask<StringRequest,Void,String> {
int product_id,pcategory_id,subcategory_id;
String product_name,product_desc,product_img,subcategory_name,subcategory_desc,subcategory_image,category_name;
Integer insertedResult = -1;
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = new ProgressDialog(SubCategoryDetailActivity.this);
progressDialog.setMessage("Please Wait");
progressDialog.setCancelable(false);
progressDialog.show();
Log.d("progreeeesqwqw","ddd");
progressBar.setVisibility(View.VISIBLE);*/
}
@Override
protected String doInBackground(StringRequest... stringRequests) {
StringRequest stringRequest = new StringRequest(Request.Method.GET, URLs.productURL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("zsded", response.toString());
try {
JSONObject obj = new JSONObject(response);
JSONArray productArray = obj.getJSONArray("products");
for (int i = 0; i < productArray.length(); i++) {
JSONObject productObject = productArray.getJSONObject(i);
SubCategoryDetailModelClass subCategoryDetailModelClass = new SubCategoryDetailModelClass();
subCategoryDetailModelClass.setProduct_name(productObject.getString("product-name"));
subCategoryDetailModelClass.setProduct_id(productObject.getInt("product-id"));
subCategoryDetailModelClass.setProduct_desc(productObject.getString("product-description"));
subCategoryDetailModelClass.setProduct_imgURL(productObject.getString("product-image"));
subCategoryDetailModelClass.setProduct_CategoryId(productObject.getInt("product-categoryid"));
subCategoryDetailModelClass.setProduct_Category_Name(productObject.getString("category-name"));
subCategoryDetailModelClass.setSubCategoryId(productObject.optInt("subcategory-id"));
subCategoryDetailModelClass.setSubCategoryName(productObject.optString("subcategory-name"));
subCategoryListDetailModelClassArray.add(subCategoryDetailModelClass);
Log.d("subcatdetail", String.valueOf(subCategoryDetailModelClass));
}
for(int i = 0; i< subCategoryListDetailModelClassArray.size(); i++){
product_name= subCategoryListDetailModelClassArray.get(i).getProduct_name();
product_id= subCategoryListDetailModelClassArray.get(i).getProduct_id();
product_desc= subCategoryListDetailModelClassArray.get(i).getProduct_desc();
product_img= subCategoryListDetailModelClassArray.get(i).getProduct_imgURL();
pcategory_id= subCategoryListDetailModelClassArray.get(i).getProduct_CategoryId();
category_name= subCategoryListDetailModelClassArray.get(i).getProduct_Category_Name();
subcategory_id= subCategoryListDetailModelClassArray.get(i).getSubCategoryId();
subcategory_name= subCategoryListDetailModelClassArray.get(i).getSubCategoryName();
Log.d("subcatdetaillllll", product_name);
Log.d("subcatdetaillllll", String.valueOf(subcategory_id));
Log.d("subcatdetaillllll",subcategory_name);
ProductListDBHelper dbHelper = new ProductListDBHelper(getApplicationContext());
SQLiteDatabase database = dbHelper.getWritableDatabase();
dbHelper.insertSubCategoryProductDetail(product_name,product_id,product_desc,product_img,pcategory_id,category_name,subcategory_id,subcategory_name,database);
}
subCategoryListDetailModelClassArray = productListDBHelper.getSubCategoryProductDetail(subCategoryID);
recyclerViewSubCategoryDetail.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
subCategoryDetailAdapter = new SubCategoryDetailAdapter(getApplicationContext(), subCategoryListDetailModelClassArray);
recyclerViewSubCategoryDetail.setAdapter(subCategoryDetailAdapter);
subCategoryDetailAdapter.notifyDataSetChanged();
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
// Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_SHORT).show();
}
});
MySingleton.getInstance(getApplicationContext()).addToRequestQueue(stringRequest);
return "Task Completed";
}
@Override
protected void onPostExecute(String s) {
progressDialog.dismiss();
Log.d("progreeeesqwqw","eee");
}
}
}