How to expand items by clicking item in android ListView
Directly put the code, mainly to re-give the item measure height, directly put the code
Import java. util. arrayList; import android. app. activity; import android. OS. bundle; import android. view. layoutInflater; import android. view. motionEvent; import android. view. view; import android. view. view. onTouchListener; import android. view. viewGroup; import android. widget. adapterView; import android. widget. adapterView. onItemClickListener; import android. widget. arrayAdapter; import android. widget. baseAdapter; import android. widget. button; import android. widget. listView; import android. widget. relativeLayout; import android. widget. textView; public class MainActivity extends Activity {private ArrayList
MyList = new ArrayList
(); Private myAdapter; private LayoutInflater inflater = null; private int oldPostion =-1; @ Overrideprotected void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R. layout. activity_main); final ListView list = (ListView) findViewById (R. id. draggable_list); MyData data = new MyData (); data. name = "11"; myList. add (data); data = new MyData (); data. name = "22"; myList. add (data); data = new MyData (); data. name = "33"; myList. add (data); data = new MyData (); data. name = "44"; myList. add (data); data = new MyData (); data. name = "55"; myList. add (data); data = new MyData (); data. name = "66"; myList. add (data); data = new MyData (); data. name = "77"; myList. add (data); inflater = LayoutInflater. from (this); TextView header = (TextView) inflater. inflate (R. layout. header, null); TextView footer = (TextView) inflater. inflate (R. layout. footer, null); // list. addFooterView (footer); // list. addHeaderView (header); myAdapter = new myAdapter (); list. setAdapter (myAdapter); list. setOnItemClickListener (new OnItemClickListener () {@ Overridepublic void onItemClick (AdapterView
Parent, View view, int position, long id) {MyData data = myList. get (position); if (oldPostion = position) {if (data. expand) {oldPostion =-1;} data. expand =! Data. expand;} else {oldPostion = position; data. expand = true;} int totalHeight = 0; for (int I = 0; I
Layout:
:
Code: http://download.csdn.net/detail/baidu_nod/7765251