1. Preparation ListView to display data;
2. Using one-dimensional or multidimensional dynamic arrays stored data;
2. Construction of the adapter, simply, the adapter is the Item array, dynamic array how manyelements to generate the number of Item;
3. The adapter to the ListView, and displayed.
Then began the XML UI code:
***********************
main.xml code below is very simple and does not need more explanation:
(i am using () in place of <> due to blog post restriction.)
(i am using () in place of <> due to blog post restriction.)
- - - - - - - - - - - - - - - - - - - - - - - -
(?xml version="1.0" encoding="utf-8"?) (LinearLayout android:id="@+id/LinearLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android") (ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/MyListView") (/ListView) (/LinearLayout)
***********************
create a new "my_listitem.xml" the code below, my_listitem.xml ListView for the design of the Item:
***********************
(?xml version="1.0" encoding="utf-8"?)
***********************
(?xml version="1.0" encoding="utf-8"?)
(LinearLayout android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_height="wrap_content" android:id="@+id/MyListItem" android:paddingBottom="3dip" android:paddingLeft="10dip") (TextView android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/ItemTitle" android:textSize="30dip") (/TextView) (TextView android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/ItemText") (/TextView) (/LinearLayout)
***********************
Explanation, which used some of the attributes:
1.paddingBottom = "3dip", Layout to stay out of the bottom 3 pixels of white space
2.paddingLeft = "10dip", Layout to the left leaving a blank area of 10 pixels
3.textSize = "30dip", TextView font is 30 pixels so great.
Last is the JAVA source code:
Create a activity class called MyListViewItems.java. embed following oncreate() method in it.
*************************
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Bound in XML ListView, As the container for the Item ListView list = (ListView) findViewById(R.id.MyListView); // Build a dynamic array, and reprint data ArrayList> mylist = new ArrayList >(); for(int i=0;i<30;i++) { HashMap map = new HashMap (); map.put("ItemTitle", "This is Title....."); map.put("ItemText", "This is text....."); mylist.add(map); } // Generated adapter, array ===>ListItem SimpleAdapter mSchedule = new SimpleAdapter(this, // There's nothing to explain mylist,// Data source R.layout.my_listitem,//ListItem XML implementation // Dynamic arrays and the subkey that corresponds to the ListItem new String[] {"ItemTitle", "ItemText"}, //ListItem The XML file inside of two TextView ID new int[] {R.id.ItemTitle,R.id.ItemText}); // Add and display list.setAdapter(mSchedule); }
*************************
Basic steps:
1. Binding XML in a ListView
Such as: ListView list = (ListView) findViewById (R.id.ListView);
2. Generate dynamic array, adding data
ArrayList> listItem = new ArrayList > ();
. . . . . .
Last listItem.add (map);
3. Generated adapter Item and dynamic arrays corresponding elements such as: SimpleAdapter listItemAdapter = new SimpleAdapter (this, listItem, / / data source
R.layout.list_items, / / ListItem's XML Implementation
/ / Dynamic array and ImageItem corresponding subkey new String [] ("ItemImage", "ItemTitle", "ItemText"),
/ / ImageItem the XML file inside a ImageView, two TextView ID new int [] (R.id.ItemImage, R.id.ItemTitle, R.id.ItemText));
Four. Add and display, such as: list.setAdapter (listItemAdapter);
These four steps as necessary
5. Add click
list.setOnItemClickListener (new OnItemClickListener () (
@ Override
public void onItemClick (AdapterView arg0, View arg1, int arg2,
long arg3) (
setTitle ("Click on the first" + arg2 + "items");
)
));
6. Add the long-per-click
list.setOnCreateContextMenuListener (new OnCreateContextMenuListener () (
@ Override
public void onCreateContextMenu (ContextMenu menu, View v,
ContextMenuInfo menuInfo) (
menu.setHeaderTitle ("long press the menu-ContextMenu");
menu.add (0, 0, 0, "pop-up menu, long press 0");
menu.add (0, 1, 0, "pop-up menu long by 1");
)
));
7. Long response function according to the menu
@ Override
public boolean onContextItemSelected (MenuItem item) (
setTitle ("Click the long press the menu inside the first" + item.getItemId () + "items");
return super.onContextItemSelected (item);
)
1. Binding XML in a ListView
Such as: ListView list = (ListView) findViewById (R.id.ListView);
2. Generate dynamic array, adding data
ArrayList
. . . . . .
Last listItem.add (map);
3. Generated adapter Item and dynamic arrays corresponding elements such as: SimpleAdapter listItemAdapter = new SimpleAdapter (this, listItem, / / data source
R.layout.list_items, / / ListItem's XML Implementation
/ / Dynamic array and ImageItem corresponding subkey new String [] ("ItemImage", "ItemTitle", "ItemText"),
/ / ImageItem the XML file inside a ImageView, two TextView ID new int [] (R.id.ItemImage, R.id.ItemTitle, R.id.ItemText));
Four. Add and display, such as: list.setAdapter (listItemAdapter);
These four steps as necessary
5. Add click
list.setOnItemClickListener (new OnItemClickListener () (
@ Override
public void onItemClick (AdapterView arg0, View arg1, int arg2,
long arg3) (
setTitle ("Click on the first" + arg2 + "items");
)
));
6. Add the long-per-click
list.setOnCreateContextMenuListener (new OnCreateContextMenuListener () (
@ Override
public void onCreateContextMenu (ContextMenu menu, View v,
ContextMenuInfo menuInfo) (
menu.setHeaderTitle ("long press the menu-ContextMenu");
menu.add (0, 0, 0, "pop-up menu, long press 0");
menu.add (0, 1, 0, "pop-up menu long by 1");
)
));
7. Long response function according to the menu
@ Override
public boolean onContextItemSelected (MenuItem item) (
setTitle ("Click the long press the menu inside the first" + item.getItemId () + "items");
return super.onContextItemSelected (item);
)
can u plz provide exacmple code for this?
ReplyDelete