BrandList.java :  » UnTagged » noodlesmaster » me » evis » mobile » noodle » Android Open Source

Android Open Source » UnTagged » noodlesmaster 
noodlesmaster » me » evis » mobile » noodle » BrandList.java
/*
 ******************************************************************************
 * Parts of this code sample are licensed under Apache License, Version 2.0   *
 * Copyright (c) 2009, Android Open Handset Alliance. All rights reserved.    *
 *                                                                            *                                                                         *
 * Except as noted, this code sample is offered under a modified BSD license. *
 * Copyright (C) 2010, Motorola Mobility, Inc. All rights reserved.           *
 *                                                                            *
 * For more details, see MOTODEV_Studio_for_Android_LicenseNotices.pdf        * 
 * in your installation folder.                                               *
 ******************************************************************************
 */

package me.evis.mobile.noodle;

import me.evis.mobile.noodle.provider.BrandContentProvider;
import me.evis.mobile.noodle.provider.NoodlesContentProvider;
import me.evis.mobile.util.AssetUtil;
import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;

public class BrandList extends ListActivity {
    /**
     * The columns we are interested in from the database
     */
    private static final String[] PROJECTION = new String[] {
        BrandContentProvider._ID, // 0
        BrandContentProvider.UUID, // 1
        BrandContentProvider.NAME, // 2
        BrandContentProvider.LOGO, // 3
    };
    
    private static final String LOGO_PATH = "logos/";
    
    private static final int REQUEST_CODE_BROWSE_NOODLES = 2010100903;
    
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.brandlist);

    // adds listener to list view
    ListView listView = getListView();
    listView.setOnItemClickListener(new OnItemClickListener() {
      public void onItemClick(AdapterView<?> parent, View view, int position,
          long id) {
          String uuid = ((TextView) view.findViewById(R.id.ItemUuid)).getText().toString();
        startActivityForResult(new Intent(Intent.ACTION_VIEW,
            Uri.withAppendedPath(NoodlesContentProvider.BRAND_UUID_FIELD_CONTENT_URI, uuid)), 
            REQUEST_CODE_BROWSE_NOODLES);
      }
    });

    // Perform a managed query. The Activity will handle closing and re-querying the cursor
        // when needed.
        Cursor cursor = managedQuery(getIntent().getData(), PROJECTION, null, null,
                BrandContentProvider.DEFAULT_SORT_ORDER);

        // Used to map notes entries from the database to views
        SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
            R.layout.brandlist_row, cursor,
                new String[] { BrandContentProvider.UUID, BrandContentProvider.NAME, BrandContentProvider.LOGO }, 
                new int[] { R.id.ItemUuid, R.id.ItemName, R.id.ItemLogo });
        adapter.setViewBinder(new SimpleCursorAdapter.ViewBinder() {
      
      @Override
      public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
        // NoodlesContentProvider.LOGO
        if (view instanceof ImageView && columnIndex == 3) {
          String logo = cursor.getString(columnIndex);
          AssetUtil.setAssetImage((ImageView) view, LOGO_PATH, logo);
          return true;
        }
        return false;
      }
    });
        setListAdapter(adapter);
  }
  
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_CODE_BROWSE_NOODLES && resultCode == RESULT_OK) {
      setResult(resultCode, data);
      finish();
    }
    
    super.onActivityResult(requestCode, resultCode, data);
  }
}
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.