GesturesListActivity.java :  » App » androidgestures » org » sadko » gestures » Android Open Source

Android Open Source » App » androidgestures 
androidgestures » org » sadko » gestures » GesturesListActivity.java
package org.sadko.gestures;


import java.util.Date;

import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.CursorAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;

public class GesturesListActivity extends ListActivity{
  private static final int ADD_NEW_ID = 0;
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    menu.add(0, ADD_NEW_ID, 0, "Add new").setIcon(
        android.R.drawable.ic_menu_add);
    
    return super.onCreateOptionsMenu(menu);
  }

  @Override
  public boolean onMenuItemSelected(int featureId, MenuItem item) {
    switch (item.getItemId()) {
    case ADD_NEW_ID: {
      Intent i = new Intent(GesturesListActivity.this, MotionEditor.class);
      i.setAction(android.content.Intent.ACTION_MAIN);
      startActivity(i);
      break;
    }
    }
    return super.onMenuItemSelected(featureId, item);
  }

  Cursor gesturesFromDatabase;
  ListView lv;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.gestures_library_list_layout);
    lv = getListView();
    fillListView();
  }
  
  private void fillListView() {
    gesturesFromDatabase = getContentResolver().query(MotionsDB.MOTIONS_CONTENT_URI,
        new String[] { "_id", MotionColumns.NAME, MotionColumns.MODIFIED_DATE, MotionColumns.ISACTIVE }, null, null, null);
    startManagingCursor(gesturesFromDatabase);
    /*gesturesFromDatabase.registerContentObserver(new ContentObserver(new Handler() {

    }) {
    

      @Override
      public void onChange(boolean selfChange) {
        if (gesturesFromDatabase.getCount() == 0 && !lb.mh.isEnabled)
          startMyService.setEnabled(false);
        else
          startMyService.setEnabled(true);

      }

    });*/
    final MySimpleAdapter motions = new MySimpleAdapter(this,gesturesFromDatabase);

    lv.setAdapter(motions);
    lv.setItemsCanFocus(false);
    lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
    lv.setOnItemClickListener(new OnItemClickListener() {

      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
          long arg3) {
        Intent i = new Intent(GesturesListActivity.this, MotionEditor.class);
        i.setAction(android.content.Intent.ACTION_EDIT);
        i.putExtra("id", motions.getItemId(arg2));
        startActivity(i);
      }
    });
    Button addFirst = (Button) findViewById(R.id.add_first);
    addFirst.setOnClickListener(new OnClickListener() {

      public void onClick(View arg0) {
        Intent i = new Intent(GesturesListActivity.this, MotionEditor.class);
        i.setAction(android.content.Intent.ACTION_MAIN);
        startActivity(i);
      }

    });

  }
  
  class MySimpleAdapter extends CursorAdapter {
    public MySimpleAdapter(Context context, Cursor c) {
      super(context, c);
    }
    PackageManager mPackageManager = GesturesListActivity.this.getPackageManager();

    void fillData(Cursor cursor, View view){
      TextView name = (TextView) view.findViewById(R.id.gesture_name);
      TextView dateTextView = (TextView) view.findViewById(R.id.modified_date);
      Date mDate = new Date();
      Long date = cursor.getLong(cursor.getColumnIndex(MotionColumns.MODIFIED_DATE));
      if (date != null){
        mDate.setTime(date);
        dateTextView.setText(mDate.toLocaleString());
      }
      
      dateTextView.setTextColor(Color.BLACK);
      name.setTextSize(20);
      name.setTextColor(Color.BLACK);
      name.setText(cursor.getString(cursor.getColumnIndex(MotionColumns.NAME)));
      ImageView isActive = (ImageView) view.findViewById(R.id.activated_indicator);
      boolean isactive = cursor.getInt(cursor.getColumnIndex(MotionColumns.ISACTIVE)) == 0 ? false : true;
      isActive.setVisibility(isactive ? View.INVISIBLE : View.VISIBLE);
    }
    @Override
    public void bindView(View arg0, Context arg1, Cursor arg2) {
      fillData(arg2, arg0);
      
    }
    @Override
    public View newView(Context arg0, Cursor arg1, ViewGroup arg2) {
      LayoutInflater inflater = (LayoutInflater)arg0
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
      View result = inflater.inflate(R.layout.library_item,null);
      result.setBackgroundResource(R.drawable.background_lib);
      fillData(arg1, result);
      return result;
      
    }
  }
}
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.