package com.marshalchen.common.demoofui.sampleModules; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ListView; import android.widget.TextView; import com.marshalchen.common.demoofui.R; import com.marshalchen.common.uimodule.listviewanimations.ArrayAdapter; import com.marshalchen.common.uimodule.simplemodule.FilckerAnimationListView; import java.util.ArrayList; import java.util.List; /** * Created by cym on 14-10-14. */ public class FilckerAnimationListActivity extends Activity { private FilckerAnimationListView mListView; @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.filcker_anim_list_activity); mListView = (FilckerAnimationListView) findViewById(R.id.list_animation_filcker_list_view); mListView.setDivider(null); mListView.setAdapter(createListAdapter()); mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { mListView.manipulate(new FilckerAnimationListView.Manipulator<ArrayAdapter<String>>() { @Override public void manipulate(final ArrayAdapter<String> adapter) { adapter.add("Foo"); } }); } }); } public ListView getListView() { return mListView; } protected ArrayAdapter<String> createListAdapter() { return new MyListAdapter(getItems(), this); } public static ArrayList<String> getItems() { ArrayList<String> items = new ArrayList<String>(); for (int i = 0; i < 10; i++) { items.add(i + ""); } return items; } private static class MyListAdapter extends ArrayAdapter<String> { private final Context mContext; // public MyListAdapter(final Context context, final ArrayList<Integer> items) { // super(items); // mContext = context; // } private MyListAdapter(List<String> objects, Context mContext) { super(objects); this.mContext = mContext; } @Override public long getItemId(final int position) { return getItem(position).hashCode(); } @Override public boolean hasStableIds() { return true; } @Override public View getView(final int position, final View convertView, final ViewGroup parent) { TextView tv = (TextView) convertView; if (tv == null) { tv = (TextView) LayoutInflater.from(mContext).inflate(R.layout.list_anim_list_row, parent, false); } tv.setText("This is row number " + getItem(position)); return tv; } } }