NewTweet.java :  » Blog-Twitter » mintweet » com » min » Android Open Source

Android Open Source » Blog Twitter » mintweet 
mintweet » com » min » NewTweet.java
package com.min;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.RemoteException;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class NewTweet extends Activity {
  public static final int MAX_TWEET_LENGTH = 140;
  
  Button mBtnOK;
  Button mBtnCancel;
  EditText mETTweets;
  TextView mViewTweetLength;
  Animation mAnim;
  
  String mTweets;
  int tweetLength;
  
  @Override
  protected void onCreate(Bundle saved) {
    // TODO Auto-generated method stub
    super.onCreate(saved);
    
    setContentView(R.layout.tweet);
    
    
    
    // assign widgets
    mBtnOK     = (Button)findViewById(R.id.NT_ButtonOK);
    mBtnCancel  = (Button)findViewById(R.id.NT_ButtonCancel);
    mETTweets  = (EditText)findViewById(R.id.NT_EditTextTweet);
    mViewTweetLength= (TextView)findViewById(R.id.NT_TweetLength);
    mAnim = AnimationUtils.loadAnimation(this, R.anim.shake);
    
    // assign listeners
    mBtnOK.setOnClickListener(mOKListener);
    mBtnCancel.setOnClickListener(mCancelListener);
    mETTweets.addTextChangedListener(mLengthWatcher);
    
    // get text from Intent
    
    Bundle passedBundle = getIntent().getExtras();
    
    if(passedBundle != null){
    String info = passedBundle.getString("INFO");
    mETTweets.setText(info);
    }
    
  }
  
  

  /**
   * OK button Listener
   */
  private View.OnClickListener mOKListener = new View.OnClickListener() {
    
    @Override
    public void onClick(View v) {
      // TODO Auto-generated method stub
      
      
      if( tweetLength == 0)
      {
        mETTweets.startAnimation(mAnim);
        return;
      }
      
      try {
        MinTweet.mServiceBinder.IupdateStatus(mTweets);
      } catch (RemoteException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
      
      
      finish();
    }
  };
  
  /**
   * Cancel Button Listener
   */
  private View.OnClickListener mCancelListener = new View.OnClickListener() {
    
    @Override
    public void onClick(View v) {
      // TODO Auto-generated method stub
      
      
      finish();
    }
  };
  
  /** 
   * TextWatcher for calculating Tweet Length
   */
  private TextWatcher mLengthWatcher = new TextWatcher(){
    
    @Override
    public void afterTextChanged(Editable s) {
      // TODO Auto-generated method stub
      mTweets = s.toString();        
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count,
        int after) {
      // TODO Auto-generated method stub
      mTweets = s.toString();
    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before,
        int count) {
      // TODO Auto-generated method stub
      tweetLength = s.length();
      if(tweetLength > MAX_TWEET_LENGTH){
        mETTweets.setText(mTweets);
        mETTweets.setSelection(start);
      }
      
      mViewTweetLength.setText(Integer.toString(tweetLength));
      
    }
    
  };
  

}
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.