package com.sailrobotics.posterize; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.os.AsyncTask; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.View; import android.widget.EditText; import android.widget.ProgressBar; import java.util.ArrayList; import static android.view.View.GONE; public class FlickrActivity extends ActionBarActivity { EditText et; ProgressBar pb; View fragment_container; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_flickr); et = (EditText) this.findViewById(R.id.et_search); pb = (ProgressBar) this.findViewById(R.id.progressBar); fragment_container = (View)this.findViewById(R.id.fragment_container); } public void startSearch(View v) { //replace the space in string String search_string = et.getText().toString().replace(" ", "%20"); // check whether the string is null if (search_string.length() > 0) { new SearchTask().execute(search_string); } } class SearchTask extends AsyncTask { @Override protected void onPreExecute() { fragment_container.setVisibility(GONE); //show the ProgressBar pb.setVisibility(View.VISIBLE); } @Override protected ArrayList<PhotoModel> doInBackground(Object... arg0) { String search_string = arg0[0].toString(); FlickrSearch flickrSearch = new FlickrSearch(); String response = flickrSearch.sendRequest(search_string); return flickrSearch.getPhotoModelArray(response); } @Override protected void onPostExecute(Object result) { //remove the ProgressBar pb.setVisibility(GONE); fragment_container.setVisibility(View.VISIBLE); ArrayList<PhotoModel> photos = (ArrayList<PhotoModel>) result; FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager .beginTransaction(); SearchResultFragment fragment = new SearchResultFragment(); fragment.photos = photos; fragmentTransaction.replace(R.id.fragment_container, fragment); fragmentTransaction.commit(); } } }