RoutesActivity.java :  » Browser » nextvta » org » jtb » nextvta » Android Open Source

Android Open Source » Browser » nextvta 
nextvta » org » jtb » nextvta » RoutesActivity.java
package org.jtb.nextvta;

import java.util.List;

import org.jtb.nextvta.RouteType.DisplayRouteType;
import org.jtb.nextvta.donate.R;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.Toast;

public class RoutesActivity extends Activity {
  private static final int SET_LIST_WHAT = 0;
  
  private List<Route> mRoutes;
  private RouteType mRouteType = RouteType.ALL;
  private Spinner mRouteTypeSpinner;
  private ListView mRouteList;
  
  private Handler mHandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
      switch (msg.what) {
      case SET_LIST_WHAT:
        RouteRowAdapter rra = new RouteRowAdapter(RoutesActivity.this, mRoutes);
        mRouteList.setAdapter(rra);
        break;
      }
    }
  };
  

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.routes);

    mRouteList = (ListView) findViewById(R.id.route_list);
    mRouteList.setOnItemClickListener(new OnItemClickListener() {
      public void onItemClick(AdapterView<?> parent, View v,
          int position, long id) {
        Intent i = new Intent(parent.getContext(), RouteActivity.class);
        Route r = mRoutes.get(position);
        i.putExtra("org.jtb.nextvta.route", r);
        startActivity(i);
      }
    });
    mRouteTypeSpinner = (Spinner) findViewById(R.id.route_type_spinner);
    ArrayAdapter<DisplayRouteType> rtaa = new ArrayAdapter<DisplayRouteType>(
        this, android.R.layout.simple_spinner_item, RouteType
            .getDisplayRouteTypes(this));
    rtaa
        .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    mRouteTypeSpinner.setAdapter(rtaa);
    mRouteTypeSpinner
        .setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
          public void onItemSelected(AdapterView parent, View v,
              int position, long id) {
            RouteType rt = ((DisplayRouteType) parent
                .getSelectedItem()).getRouteType();
            if (rt != mRouteType) {
              mRouteType = rt;
              load();
            }
          }

          public void onNothingSelected(AdapterView parent) {
          }
        });
    
    setTitle(R.string.activity_routes);
    load();
  }

  private void load() {
    Toast.makeText(this, "Loading routes ...", Toast.LENGTH_SHORT).show();
    new Thread(new Runnable() {
      public void run() {
        mRoutes = TdlManager.getInstance(getResources().getAssets())
        .fetchRoutes(mRouteType);
        mHandler.sendEmptyMessage(SET_LIST_WHAT);
      }
    }).start();
  }
}
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.