Android - code source BlocNotes@latrach.net

Android - code source BlocNotes@latrach.net
package com.latrach;
import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.AdapterView;
import java.util.ArrayList;

public class Latrach extends Activity {    

  private ArrayList todoItems;
  private ListView myListView;
  private EditText myEditText;
  private ArrayAdapter aa;
  private boolean addingNew = false;

  // Define the new menu item identifiers
  static final private int ADD_NEW_TODO = Menu.FIRST;
  static final private int REMOVE_TODO = Menu.FIRST + 1;

  /** Called when the activity is first created. */
  @Override

  public void onCreate(Bundle icicle) {
    super.onCreate(icicle);

    // Inflate your view
    setContentView(R.layout.main);  

    // Get references to UI widgets
    myListView = (ListView)findViewById(R.id.myListView);
    myEditText = (EditText)findViewById(R.id.myEditText);

    // Create the Todo List ArrayList and Adapter and assign is to the ListView
    todoItems = new ArrayList();
    aa = new ArrayAdapter(getApplicationContext(), R.layout.todolist_item, todoItems);
    myListView.setAdapter(aa);

    // Assign the KeyListener to the DPad button to add new items
    myEditText.setOnKeyListener(new OnKeyListener() {
      public boolean onKey(View v, int keyCode, KeyEvent event) {
        if (event.getAction() == KeyEvent.ACTION_DOWN)
          if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
            // Add a new todo item and clear the input box.
            todoItems.add(0, myEditText.getText().toString());
            myEditText.setText("");
            aa.notifyDataSetChanged();
            cancelAdd();
            return true;
          }

        return false;
      }
    });

    registerForContextMenu(myListView);

  }  

  @Override

  public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);       

    // Create and add new menu items.
    MenuItem itemAdd = menu.add(0, ADD_NEW_TODO, Menu.NONE, R.string.add_new);
    MenuItem itemRem = menu.add(0, REMOVE_TODO, Menu.NONE, R.string.remove);

    // Assign icons
    itemAdd.setIcon(R.drawable.add_new_item);
    itemRem.setIcon(R.drawable.remove_item);

    // Allocate shortcuts to each of them.
    itemAdd.setShortcut('0', 'a');
    itemRem.setShortcut('1', 's');

    return true;
  }

  @Override
      public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { 
        super.onCreateContextMenu(menu, v, menuInfo);    

    menu.setHeaderTitle("Selected To Do Item");
        menu.add(0, REMOVE_TODO, Menu.NONE, R.string.remove);      

      }

  @Override

  public boolean onPrepareOptionsMenu(Menu menu) {
    super.onPrepareOptionsMenu(menu);

    int idx = myListView.getSelectedItemPosition();

    String removeTitle = getString(addingNew ? R.string.cancel : R.string.remove);

    MenuItem removeItem = menu.findItem(REMOVE_TODO);

    removeItem.setTitle(removeTitle);

    removeItem.setVisible(addingNew || idx > -1);
    return true;  

  }

  /** Process the options menu item selection */

  @Override

  public boolean onOptionsItemSelected(MenuItem item) {

    super.onOptionsItemSelected(item);

    int index = myListView.getSelectedItemPosition();

    switch (item.getItemId()) {

      case (REMOVE_TODO): {

        if (addingNew) {

          // If adding a new item, cancel this action

          cancelAdd();

        }

        else {

          // If not adding a new item, remove the currently selected one.

          removeItem(index);

        }

        return true;

      }

      case (ADD_NEW_TODO): {

        // Add a new item

        addNewItem();

        return true;

      }

    }

    return false;

  }

Tags: 

Catégories: 

Share/Save

Ajouter un commentaire

Filtered HTML

  • Pour publier des morceaux de code, entourez-les avec les balises <code>...</code>. Pour du PHP, utilisez. <?php ... ?>, ce qui va colorier le code en fonction de sa syntaxe.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
Cette question permet de s'assurer que vous êtes un utilisateur humain et non un logiciel automatisé de pollupostage (spam).
Image CAPTCHA
Saisir les caractères affichés dans l'image.