MyRankingsActivity.java :  » Web » criticker » criticker » client » Android Open Source

Android Open Source » Web » criticker 
criticker » criticker » client » MyRankingsActivity.java
package criticker.client;

import java.util.ArrayList;
import java.util.Iterator;

import criticker.lib.ApiResponse;
import criticker.lib.ApiResponseObject;
import criticker.lib.ApiResponseObjectList;
import criticker.lib.Const;
import criticker.lib.Criticker;
import criticker.lib.DataStore;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class MyRankingsActivity extends ListActivity
{
  ProgressDialog mDialog = null;
  ArrayList<Object> mFilmList = null;
  
  @Override
    public void onCreate(Bundle savedInstanceState)
    {
    super.onCreate(savedInstanceState);
    
    mDialog = new ProgressDialog(MyRankingsActivity.this);
    mDialog.setIndeterminate(true);
    mDialog.setTitle(R.string.myrankingsui_loadingtitle);
    mDialog.setMessage(getResources().getString(R.string.generic_loading));
    mDialog.show();
    
    Criticker.GetInstance().ListRankings(new ApiResponse()
      {
        @Override public void OnSuccess(ApiResponseObjectList data)
        {
          mDialog.dismiss();
          ProcessData(data.GetResponseList());
        }
        
        @Override public void OnFailure(ApiResponseObject data)
          {
            Toast.makeText(MyRankingsActivity.this, data.GetResponseText(), Toast.LENGTH_LONG).show();
          }
      }
    );
    }
  
  private void ProcessData(ArrayList<Object> films)
  {
    //TODO: Make custom adaptor for this, showing relevant data in the list (pic, film title, rating)
    mFilmList = films;
    String[] titles = new String[mFilmList.size()];
    Iterator<Object> iter = mFilmList.iterator();
    int i = 0;
    while(iter.hasNext())
    {
      DataStore film = (DataStore)iter.next();
      titles[i] = film.GetDataString(Const.FILM_NAME);
      i++;
    }
    
    PopulateList(titles);
  }
  
  private void PopulateList(String[] titles)
  {
    setListAdapter(new ArrayAdapter<String>(this, R.layout.myrankingsui, titles));
        getListView().setOnItemClickListener(new OnItemClickListener()
          {
        //!@Override
        public void onItemClick(AdapterView<?> parent, View v, int pos, long id)
        {
          Intent i = new Intent(MyRankingsActivity.this, FilmViewActivity.class);
          i.putExtra(Const.FILM_ID,((DataStore)mFilmList.get(pos)).GetDataString(Const.FILM_ID));
          startActivity(i);
        }
          }
        );
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.