Thursday 18 December 2014

Creating notification using Notification Compact and Extended notification

Today i have use extended notification style and check how it's working .

if you want to try check below activity .




public class NotificationActivity extends ActionBarActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_notification);

        initView();
    }



    private void initView(){


        Log.v("LOG_TAG","NotificationActivity-->"+ "initView(0)");

        Button mbtnGeneNotification = (Button) findViewById(R.id.btn_notification);

        Button mbtnExtendedNotification=(Button)findViewById(R.id.btn_extended);


        mbtnExtendedNotification.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                generateExtendedNotification();
            }
        });
        mbtnGeneNotification.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                generateSimpleNotification();

            }
        });


    }


    private void generateSimpleNotification(){

        NotificationCompat.Builder mNotificationBuilder=new NotificationCompat.Builder(this);

        mNotificationBuilder.setSmallIcon(R.drawable.ic_launcher);

        mNotificationBuilder.setContentText("App notification text here");

        mNotificationBuilder.setContentTitle("App notification Title here");

        mNotificationBuilder.setAutoCancel(true);

        // Creates an explicit intent for an Activity in your app

        Intent resultIntent=new Intent(this,NotificationParentActivity.class);

         // The stack builder object will contain an artificial back stack for the
        // started Activity.
        // This ensures that navigating backward from the Activity leads out of
        // your application to the Home screen.
        TaskStackBuilder mStackBuilder=TaskStackBuilder.create(this);
        // Adds the back stack for the Intent (but not the Intent itself)
        mStackBuilder.addParentStack(NotificationParentActivity.class);
        // Adds the Intent that starts the Activity to the top of the stack
        mStackBuilder.addNextIntent(resultIntent);
        PendingIntent mPendingIntent=mStackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);

        mNotificationBuilder.setContentIntent(mPendingIntent);

        NotificationManager mNotificationManager =
                (NotificationManager) getSystemService(
                        Context.NOTIFICATION_SERVICE);
// mId allows you to update the notification later on.
        mNotificationManager.notify(0, mNotificationBuilder.build());

    }



    private void generateSimplenNonStackNotification(){

        NotificationCompat.Builder mNotificationBuilder=new NotificationCompat.Builder(this);

        mNotificationBuilder.setSmallIcon(R.drawable.ic_launcher);

        mNotificationBuilder.setContentText("App notification text here");

        mNotificationBuilder.setContentTitle("App notification Title here");

        mNotificationBuilder.setAutoCancel(true);

        // Creates an explicit intent for an Activity in your app

        Intent resultIntent=new Intent(this,NotificationActivity.class);

        // The stack builder object will contain an artificial back stack for the
        // started Activity.
        // This ensures that navigating backward from the Activity leads out of
        // your application to the Home screen.

        // Sets the Activity to start in a new, empty task
        resultIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

        PendingIntent mPendingIntent= PendingIntent.getActivity(this,1,resultIntent,PendingIntent.FLAG_UPDATE_CURRENT);

         //mStackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);

        mNotificationBuilder.setContentIntent(mPendingIntent);

        NotificationManager mNotificationManager =
                (NotificationManager) getSystemService(
                        Context.NOTIFICATION_SERVICE);
// mId allows you to update the notification later on.
        mNotificationManager.notify(0, mNotificationBuilder.build());

    }




    private void generateExtendedNotification(){



        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
                .setSmallIcon(R.drawable.ic_launcher)
                .setContentTitle("Event tracker")
                .setContentText("Events received");

        NotificationCompat.InboxStyle inboxStyle =
                new NotificationCompat.InboxStyle();

        mBuilder.setAutoCancel(true);


        mBuilder.setNumber(4);

        String[] events = new String[6];


        events[0]="It's Holiday today";
        events[1]="It's Saturday today";
        events[2]="It's Sunday today";
        events[3]="It's Monday today";
        events[4]="It's Tueday today";

// Sets a title for the Inbox in expanded layout
        inboxStyle.setBigContentTitle("Event tracker details:");



        // Moves events into the expanded layout
        for (int i=0; i < events.length; i++) {

            inboxStyle.addLine(events[i]);
        }
// Moves the expanded layout object into the notification object.
        mBuilder.setStyle(inboxStyle);


        Intent resultIntent=new Intent(this,NotificationParentActivity.class);

        // The stack builder object will contain an artificial back stack for the
        // started Activity.
        // This ensures that navigating backward from the Activity leads out of
        // your application to the Home screen.

        // Sets the Activity to start in a new, empty task
        resultIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

        PendingIntent mPendingIntent= PendingIntent.getActivity(this,2,resultIntent,PendingIntent.FLAG_UPDATE_CURRENT);

        //mStackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);

        mBuilder.setContentIntent(mPendingIntent);

        NotificationManager mNotificationManager =
                (NotificationManager) getSystemService(
                        Context.NOTIFICATION_SERVICE);
// mId allows you to update the notification later on.
        mNotificationManager.notify(2, mBuilder.build());



    }


    @Override
    protected void onNewIntent(Intent intent) {

        Log.i("LOG_TAG","onNewIntent------>");

        super.onNewIntent(intent);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_notification, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}





Below is my manifest file:



<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.himosoft.notificationtype" >

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".NotificationActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".NotificationParentActivity"
            android:label="@string/title_activity_notification_parent"
            android:parentActivityName=".NotificationActivity"
            >

            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".NotificationActivity"
                >


            </meta-data>
        </activity>

    </application>

</manifest>

Wednesday 17 December 2014

Android L like Drawer navigation animation and it's using Toolbar for top Navigation

I have created one demo app from Sliding tab demo with android L like animation of arrow.

you can check my git for complete code and comment over there is you have any issue .I have build that project using android studio so you need to have it for run and test.

https://github.com/Himanshu4003/SlidingDrawerWithTabs

Here is look of app screen:







Happy Coding

Friday 22 August 2014

Let ' s check android L ' s new UI RecyclerView

As per Google Document RecyclerView is a more advanced and flexible version of ListView.

This widget is a container for large sets of views that can be recycled and scrolled very efficiently. Use the RecyclerView widget when you have lists with elements that change dynamically.

The RecyclerView has been developed with extensibility in mind, so it is possible to create any kind of layout you can think of, but not without a little pain-in-the-ass dose. This is Android, so things are never easy.
If you want to use a RecyclerView, you will need to feel comfortable with three elements:
- RecyclerView.Adapter
- LayoutManager
- ItemAnimator
  • A layout manager for positioning items
  • Default animations for common item operations


RecyclerView is easy to use, because it provides:
You also have the flexibility to define custom layout managers and animations for this widget.
To use the RecyclerView widget, you have to specify an adapter and a layout manager. To create an adapter, you extend the RecyclerView.Adapter class. The details of the implementation depend on the specifics of your dataset and the type of views. For more information, see the examples below.

We can use RecyclerView from Api version 7 in android .

Let me make my first list with RecyclerView and share my code with you all.


Below is my Activity class which use RecycleView to show list items.

import java.util.ArrayList;

import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.RecyclerView.LayoutManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class RecycleActivity extends ActionBarActivity {

   
    private RecyclerView mRecyclerView;
   
    private ListAdapter mListAdapter;
   
   
    private ArrayList<String> mArrayList=new ArrayList<String>();
   
   
    private LayoutManager mLayoutManager;
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_recycle);
      
        initView();
      
    }
   
   
    private void initView(){
      
        mRecyclerView=(RecyclerView)findViewById(R.id.recycle_view);
      
        mRecyclerView.setHasFixedSize(true);
      
        mLayoutManager=new LinearLayoutManager(this);
      
        mRecyclerView.setLayoutManager(mLayoutManager);
      
        mArrayList.clear();
      
        for (int i=0;i<30;i++){
          
            mArrayList.add("Listview Item  at Position "+ i);
          
        }
      
      
        mListAdapter=new ListAdapter(mArrayList);
      
        mRecyclerView.setAdapter(mListAdapter);
      
      
    }
   
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.recycle, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}


Here is my Adapter Class to bind data in to RecycleView


import java.util.ArrayList;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.RecyclerView.ViewHolder;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;

public class ListAdapter extends RecyclerView.Adapter<ViewHolder>{
   
    private ArrayList<String> mArrayData;
   
   
    public ListAdapter(ArrayList<String> mArrayListUpdate){
       
        this.mArrayData=mArrayListUpdate;
       
    }
   
    public static class ViewHolder extends android.support.v7.widget.RecyclerView.ViewHolder{
       
        public ViewHolder(View view) {
            super(view);
            // TODO Auto-generated constructor stub
           
            mRlRowView=(RelativeLayout) view;
           
            mTxtView=(TextView) mRlRowView.findViewById(R.id.txt_title);
           
            mImgView=(ImageView)mRlRowView.findViewById(R.id.img_row);
           
            mCheckBox=(CheckBox)mRlRowView.findViewById(R.id.checkbox_item);
           
        }

        CheckBox mCheckBox;
       
        ImageView mImgView;
       
        TextView mTxtView;
       
        RelativeLayout mRlRowView;
    }

    @Override
    public int getItemCount() {
        // TODO Auto-generated method stub
        return mArrayData.size();
       
    }
   
   
     // Replace the contents of a view (invoked by the layout manager)
    @Override
    public void onBindViewHolder(
            android.support.v7.widget.RecyclerView.ViewHolder viewHolder, final int position) {
        // TODO Auto-generated method stub
       
        Log.i("LOG_TAG", "onBindViewHolder-->"+ position);
       
        ViewHolder mViewHolder=((ViewHolder)viewHolder);
       
        mViewHolder.mTxtView.setText(mArrayData.get(position));
       
        mViewHolder.mCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
           
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                // TODO Auto-generated method stub
               
                Log.w("LOG_TAG", "onCheckedChanged is"+ isChecked + "Position is"+ position);
               
            }
        });
   
    }

    @Override
    public android.support.v7.widget.RecyclerView.ViewHolder onCreateViewHolder(
            ViewGroup viewGroup, int viewType) {
        // TODO Auto-generated method stub
        // create a new view

        Log.i("LOG_TAG", "onCreateViewHolder-->");
        View mView=LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_row_item, viewGroup, false);
       
         // set the view's size, margins, paddings and layout parameters

        ViewHolder mViewHolder=new ViewHolder(mView);
       
       
        return mViewHolder;
    }
   }


Here is download link for my created Demo :
https://drive.google.com/file/d/0B-8An4Rd1nmKcU93VHU1Y1FWTG8/view?usp=sharing
It's Goog Drive link and from top there is download icons from there you can easily download whole code.

 

Friday 16 May 2014

What mean by Activities, tasks, and intents in Android ?


Activities In Android:

In Android, an activity is an application component that defines a screen of information and all of the associated actions the user can perform. Your app is a collection of activities, consisting of both the activities you create and those you re-use from other apps.

 

Tasks:

A task is the sequence of activities a user follows to accomplish a goal. A single task can make use of activities from just one app, or may draw on activities from a number of different apps.

 

Intents:

An intent is a mechanism for one app to signal it would like another app's assistance in performing an action. An app's activities can indicate which intents they can respond to. For common intents such as "Share", the user may have many apps installed that can fulfill that request.

 

 


Thursday 17 April 2014

Custom Alert Or Custom Dialog Fragment in Android

I recently can not able to Create Alert Dialog with out it Boarder so i end up to resolved it by Support Dialog Fragment .

You can check my code .



public class AlertActivity extends ActionBarActivity {

    private AlertDialog mAlertDialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_alert);

        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment()).commit();
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.alert, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {

            //showAlertDialog();
           
            CreateDialogFragment();

            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment {

        public PlaceholderFragment() {

        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_alert,
                    container, false);
            return rootView;
        }
    }

    private void showAlertDialog() {

        AlertDialog.Builder mBuilder = new Builder(new ContextThemeWrapper(
                this, android.R.style.Theme_Translucent_NoTitleBar));// new
                                                                        // Builder(this,android.R.style.Theme_Translucent_NoTitleBar);

        View mView = LayoutInflater.from(this).inflate(
                R.layout.alert_dialog_layout, null);

        mBuilder.setView(mView);
        // mBuilder.setC
        // mBuilder.s

        mAlertDialog = mBuilder.create();

        mAlertDialog.setInverseBackgroundForced(true);
        mAlertDialog.setCanceledOnTouchOutside(true);

        mAlertDialog.getWindow().setBackgroundDrawableResource(
                android.R.color.transparent);
        mAlertDialog.show();

    }

    private void CreateDialogFragment() {

        View mView = LayoutInflater.from(this).inflate(
                R.layout.alert_dialog_layout, null);
        MyDialogFragment mDialogFragment=new MyDialogFragment(mView);
       
        //mDialogFragment.setStyle(MyDialogFragment.STYLE_NO_FRAME, android.R.style.Theme_Translucent_NoTitleBar);
        mDialogFragment.setShowsDialog(true);
       
       
        mDialogFragment.show(getSupportFragmentManager(), "dialog");


    }

    public class MyDialogFragment extends DialogFragment {

        private View mView;

        /*
         * public MyDialogFragment newInstance(View mView) {
         *
         * mView=mView; return new MyDialogFragment(); }
         */

        public MyDialogFragment(View mView) {
            this.mView = mView;
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
           
            return mView;
        }
       
        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
          Dialog dialog = super.onCreateDialog(savedInstanceState);

          // request a window without the title
          dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
          return dialog;
        }
    }

}

Thursday 27 March 2014

Designing And Implementing Android UI For Phones and Tablets

I have found one of Google IO pdf document which give us some fundamental guide for making android UI design for Phone and Tables.


Please have look on pdf from below link.

http://goo.gl/QJFCTG

Tuesday 11 March 2014

How to show PopupWindow in android with background transparent when it show

In this tutorial we will make android popup which will show as drop-down window at particular view point.

Below is Activity class which use to make Popup window on button click.


public class PoupWindowActivity extends Activity implements OnClickListener{


public Button mBtnPopUpWindow;

private PopupWindow mPopupWindow;

private Button mBtnCancel;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);

setContentView(R.layout.main_screen_layout);

initView();
}



private void initView(){

mBtnPopUpWindow=(Button)findViewById(R.id.btn_popup);
mBtnPopUpWindow.setOnClickListener(this);


}



@Override
public void onClick(View v) {

switch(v.getId()){


case R.id.btn_popup:

showPopupWindow();

break;

case R.id.btn_cancel:


if(mPopupWindow!=null & mPopupWindow.isShowing()){
mPopupWindow.dismiss();
mPopupWindow=null;
}
break;
}
}


private void showPopupWindow(){

LayoutInflater mLayoutInflater=LayoutInflater.from(this);
View mView=mLayoutInflater.inflate(R.layout.pop_up_layout, null);
mPopupWindow=new PopupWindow(mView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, true);
// mPopupWindow=new PopupWindow(mView,,LayoutParams.WRAP_CONTENT);
mPopupWindow.setContentView(mView);
mBtnCancel=(Button) mView.findViewById(R.id.btn_cancel);
mBtnCancel.setOnClickListener(this);
Drawable d = new ColorDrawable(Color.WHITE);
        d.setAlpha(130);
     
mPopupWindow.setBackgroundDrawable(new BitmapDrawable());

mPopupWindow.showAsDropDown(mBtnPopUpWindow, 0, 0,Gravity.LEFT);
getWindow().setBackgroundDrawable(d);
mPopupWindow.setOnDismissListener(new OnDismissListener() {

@Override
public void onDismiss() {

Drawable d = new ColorDrawable(Color.WHITE);

getWindow().setBackgroundDrawable(d);
}
});
}


}


Here are xml file use for Activity and Popup window layout.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:orientation="horizontal" >

        <Button
         
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="@string/popupwindow"
            android:id="@+id/btn_popup"
            />
    </LinearLayout>

</LinearLayout>



Popup window xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingLeft="10dp"
    android:paddingRight="10dp" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <ImageView
            android:id="@+id/img_popup_arrow"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_marginRight="30dp"
            android:scaleType="fitXY"
            android:src="@drawable/ic_alerts_and_states_warning" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="20dp"
            android:layout_below="@+id/img_popup_arrow"
            android:background="@drawable/bg_orange_round" >
        </LinearLayout>
    </RelativeLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/bg_white_round"
        android:orientation="vertical" >

        <EditText
            android:id="@+id/editxt_search"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textPersonName" >

            <requestFocus />
        </EditText>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="right" >

            <Button
                android:id="@+id/btn_search"
                style="?android:attr/buttonStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/search" />

            <Button
                android:id="@+id/btn_cancel"
                style="?android:attr/buttonStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right|center_vertical"
                android:text="@string/cancel" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>


Here is output of our popup window:


You can download source code from my drive as well:

https://drive.google.com/file/d/0B-8An4Rd1nmKeVJSejlEYUxwRGc/edit?usp=sharing


Thursday 6 February 2014

Android : Custom Listview with EditText in it and Managing data of Editext


In One of my application we required to have EditText in Listview and i need to manage hot to fetch data from particular Editext when user done Editing after Using TextWatcher interface i can able to do what i required .

So I am sharing my code with you people ,if any one have better approach to work with Edittext in Listview and manage it's data as well then you can share your idear and implementation as well.


As my screen contain only list so i prefer to use List Activity.





public class ListActivity extends android.app.ListActivity {
private ListView mListview;
private final int TOTAL_ITEMS=100; 
private BaseListAdapter mBaseListAdapter;
ArrayList<String> mArrayList=new ArrayList<String>(TOTAL_ITEMS);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_list);
init();
}
private void init(){
mListview=getListView();
for(int i=0;i<TOTAL_ITEMS;i++){
mArrayList.add("");
}
mBaseListAdapter=new BaseListAdapter(ListActivity.this, mArrayList);
mListview.setAdapter(mBaseListAdapter);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.list, menu);
return true;
}

}


Other class required is my Listview adapter class which is below .

public class BaseListAdapter extends BaseAdapter implements OnTouchListener,TextWatcher{
private Context mContext;
private ArrayList<String> mArrayEdittxt;
private LayoutInflater mLayoutInflater;
private int mPosition;
private boolean isTouch=false;
public BaseListAdapter(Context _Context,ArrayList<String> mArrayEditTxtData){
this.mContext=_Context;
mArrayEdittxt=mArrayEditTxtData;
mLayoutInflater=(LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

@Override
public int getCount() {
// TODO Auto-generated method stub
return mArrayEdittxt.size();
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder mViewHolder;
if(convertView==null){
mViewHolder=new ViewHolder();
convertView=mLayoutInflater.inflate(R.layout.list_row_items, parent, false);
mViewHolder.mEditxt=(EditText)convertView.findViewById(R.id.editxt);
mViewHolder.mImgView=(ImageView)convertView.findViewById(R.id.imgview);
convertView.setTag(mViewHolder);
}else{
mViewHolder=(ViewHolder) convertView.getTag();
}
isTouch=false;
mViewHolder.mEditxt.addTextChangedListener(BaseListAdapter.this);
mViewHolder.mEditxt.setOnTouchListener(BaseListAdapter.this);
mViewHolder.mEditxt.setTag(position);
mViewHolder.mEditxt.setText(mArrayEdittxt.get(position));
return convertView;
}
public class ViewHolder{
EditText mEditxt;
ImageView mImgView;
}


@Override
public boolean onTouch(View v, MotionEvent event) {
Log.v("LOG_TAG", "onTouch-->");
isTouch=true;
mPosition=(Integer) v.getTag();
return false;
}



@Override
public void afterTextChanged(Editable s) {
Log.v("LOG_TAG", "afterTextChanged -->"+ s.toString() );
if(isTouch){
mArrayEdittxt.set(mPosition, s.toString());
}
}



@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}



@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}

}


Below is my listview row xml file .

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <EditText
        android:id="@+id/editxt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_toLeftOf="@+id/imgview"
        android:ems="10" >

        <requestFocus />
        
    </EditText>

    <ImageView
        android:id="@+id/imgview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:src="@android:drawable/ic_media_play" />

</RelativeLayout>
If any one want to check my source code they can directly download it from my Google Drive -->
https://drive.google.com/file/d/0B-8An4Rd1nmKNXNDTDRqM2FxWFU/edit?usp=sharing