package com.codingtrickshub.checkboxlistview; | |
import android.app.ProgressDialog; | |
import android.content.Context; | |
import android.os.AsyncTask; | |
import android.os.Bundle; | |
import android.view.View; | |
import android.widget.Button; | |
import android.widget.ListView; | |
import android.widget.Toast; | |
import java.util.ArrayList; | |
import android.support.v7.app.AppCompatActivity; | |
import com.codingtrickshub.checkboxlistview.adapter.CategoryAdapter; | |
import com.codingtrickshub.checkboxlistview.model.Category; | |
import com.codingtrickshub.checkboxlistview.serverCalls.FavouriteCategoriesJsonParser; | |
import com.codingtrickshub.checkboxlistview.serverCalls.InsertUpdateFavouriteCategories; | |
public class MainActivity extends AppCompatActivity { | |
Context context; | |
ArrayList<Category> array_list; | |
FavouriteCategoriesJsonParser categoryJsonParser; | |
String categoriesCsv; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_main); | |
context = this; | |
new asyncTask_getCategories().execute(); | |
} | |
public class asyncTask_getCategories extends AsyncTask<Void, Void, Void> { | |
ProgressDialog dialog = new ProgressDialog(context); | |
@Override | |
protected void onPreExecute() { | |
dialog.setTitle("Please wait..."); | |
dialog.setMessage("Loading Categories!"); | |
dialog.show(); | |
array_list = new ArrayList<>(); | |
categoryJsonParser = new FavouriteCategoriesJsonParser(); | |
super.onPreExecute(); | |
} | |
@Override | |
protected Void doInBackground(Void... params) { | |
array_list = categoryJsonParser.getParsedCategories(); | |
return null; | |
} | |
@Override | |
protected void onPostExecute(Void s) { | |
ListView mListViewBooks = (ListView) findViewById(R.id.category_listView); | |
final CategoryAdapter categoryAdapter = new CategoryAdapter(context, R.layout.row_category, array_list); | |
mListViewBooks.setAdapter(categoryAdapter); | |
Button button = (Button) findViewById(R.id.selectCategoryButton); | |
button.setOnClickListener(new View.OnClickListener() { | |
public void onClick(View v) { | |
categoriesCsv = FavouriteCategoriesJsonParser.selectedCategories.toString(); | |
categoriesCsv = categoriesCsv.substring(1, categoriesCsv.length() - 1); | |
if (categoriesCsv.length() > 0) { | |
new asyncTask_insertUpdatefavouriteCategories().execute(); | |
} else { | |
Toast.makeText(context, "Please Select Atleast One Category", Toast.LENGTH_SHORT).show(); | |
} | |
} | |
}); | |
super.onPostExecute(s); | |
dialog.dismiss(); | |
} | |
public class asyncTask_insertUpdatefavouriteCategories extends AsyncTask<Void, Void, Void> { | |
String response; | |
@Override | |
protected Void doInBackground(Void... params) { | |
response = InsertUpdateFavouriteCategories.insertUpdateCall(categoriesCsv); | |
return null; | |
} | |
@Override | |
protected void onPostExecute(Void s) { | |
Toast.makeText(context, response, Toast.LENGTH_SHORT).show(); | |
super.onPostExecute(s); | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment