Monday, 17 June 2013

Delete A row in ListView with Animation

Listview is simply a group of view that displays a list of scrolling items. "Adapters" are used to insert list items to the list.By default we are able to provide only text as list items.In order to delete a row from listview, copy or download this javacode and try yourself.
Also see here :
java file :
public class SimpleListViewActivity extends Activity {

	private ListView mainListView;
	private ArrayAdapter<String> listAdapter;
	ArrayList<String> all_rowtext = new ArrayList<String>() ;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		// Find the ListView resource.
		mainListView = (ListView) findViewById(R.id.mainListView);
		all_rowtext.add("Angel");
		all_rowtext.add("Mark");
		all_rowtext.add("Coding");
		all_rowtext.add("Playground");
		all_rowtext.add("For");
		all_rowtext.add("All");
		all_rowtext.add("Android");
		all_rowtext.add("Coderz");
		// Create ArrayAdapter using the planet list.
		listAdapter = new ArrayAdapter<String>(this, R.layout.singlerow,
				all_rowtext);
		// Set the ArrayAdapter as the ListView's adapter.
		mainListView.setAdapter(listAdapter);
		mainListView
				.setOnItemClickListener(new AdapterView.OnItemClickListener() {
					public void onItemClick(AdapterView<?> parent,
							View rowView, int positon, long id) {
						Toast.makeText(rowView.getContext(), "" + positon,
								Toast.LENGTH_LONG).show();
						removeListItem(rowView, positon);
					}
				});
	}

	protected void removeListItem(View rowView, final int positon) {
		final Animation animation = AnimationUtils.loadAnimation(
				SimpleListViewActivity.this, android.R.anim.slide_in_left);
		rowView.startAnimation(animation);
		Handler handle = new Handler();
		handle.postDelayed(new Runnable() {

			public void run() {
				all_rowtext.remove(positon);
				listAdapter.notifyDataSetChanged();
			}
		}, 1000);
}}

1 comment:

  1. Instead of using Handler, Animation Listener can be used to remove the item from adapter after the onAnimationEnd.

    ReplyDelete