Progress Dialog not showing I have tried all possible solutions but nothing worked
This is my java code where I am creating an object of ProgressDialog and initialized it as well but still, it is not visible on my activity Am I Starting Service OnCreate as well maybe it affecting my ProgressDialog Is'nt it?
public class MainActivity extends AppCompatActivity {
private ProgressDialog pDialog;
private ArrayList<CoinDetail> arrayList;
private FloatingActionButton fab_Coin;
private ListView coin_details_listView;
private CoinDetailsAdapter adapter;
private Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pDialog = new ProgressDialog(this);
pDialog.setMessage("Loading...");
pDialog.setCancelable(false);
pDialog.show();
toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setTitleTextColor(Color.WHITE);
getSupportActionBar().setTitle("Crypto Live");
Intent i = new Intent(MainActivity.this, ServiceCoin.class);
startService(i);
/*mInterstitialAd = newInterstitialAd(); //For ad
loadInterstitial();*/
coin_details_listView = findViewById(R.id.lv_coinName_mainActivity);
fab_Coin = findViewById(R.id.fab_add_coin);
arrayList = new ArrayList<>();
adapter = new CoinDetailsAdapter(MainActivity.this, arrayList);
coin_details_listView.setAdapter(adapter);
CoinSingleton.getInstance().setContext(this);
adapter = CoinSingleton.getInstance().getCoinDetailsAdapter(pDialog);
coin_details_listView.setAdapter(adapter);
coin_details_listView.setTextFilterEnabled(true);
fab_Coin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, FabCoins.class);
startActivity(intent);
}
});
coin_details_listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(MainActivity.this, CoinDetails.class);
intent.putExtra("SHORT", CoinSingleton.getInstance().getCoinDetails().get(position).getShort());
startActivity(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu2, menu);
// Retrieve the SearchView and plug it into SearchManager
SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search));
SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
if (TextUtils.isEmpty(newText)) {
coin_details_listView.clearTextFilter();
} else {
coin_details_listView.setFilterText(newText);
}
return true;
}
});
return true;
}
}
CoinSingleton java class
public class CoinSingleton {
private Context context;
private static CoinSingleton singleton = null;
private ArrayList<CoinDetail> coinDetails = new ArrayList<>();
private CoinDetailsAdapter coinDetailsAdapter;
public void setCoinDetails(ArrayList<CoinDetail> coinDetails) {
this.coinDetails = coinDetails;
}
/* A private Constructor prevents any other
* class from instantiating.
*/
private CoinSingleton() {
}
/* Static 'instance' method */
public static CoinSingleton getInstance() {
if (singleton == null) {
singleton = new CoinSingleton();
}
return singleton;
}
public void setContext(Context context) {
this.context = context;
}
public void setCoinDetailsAdapter(ArrayList<CoinDetail> details) {
for (int i = 0; i < details.size(); i++) {
try {
coinDetails.get(i).setPrice(details.get(i).getPrice());
coinDetails.get(i).setMktcap(details.get(i).getMktcap());
} catch (Exception e) {
coinDetails.add(details.get(i));
}
}
coinDetailsAdapter.setCoinDetailsArrayList(coinDetails);
//Toast.makeText(context, "Adapter set"+details.get(0).getPrice()+details.get(0).getShort(), Toast.LENGTH_SHORT).show();
coinDetailsAdapter.notifyDataSetChanged();
}
public CoinDetailsAdapter getCoinDetailsAdapter(ProgressDialog dialog) {
coinDetailsAdapter = new CoinDetailsAdapter(context, coinDetails);
dialog.dismiss();
return coinDetailsAdapter;
}
public ArrayList<CoinDetail> getCoinDetails() {
return coinDetails;
}
}