*****************************************************************
ArrayList<HashMap<String, String>> menuItems =
new
ArrayList<HashMap<String, String>>();
XMLParser parser =
new
XMLParser( );
String xml = parser. getXmlFromUrl ( URL);
// getting XML
Document doc = parser. getDomElement ( xml);
// getting DOM element
NodeList nl = doc. getElementsByTagName ( KEY_ITEM);
// looping through all item nodes <item>
for
(
int
i =
0
; i < nl . getLength ( ); i++) {
// creating new HashMap
HashMap<String, String> map =
new
HashMap<String, String>();
Element e = (Element) nl . item( i );
// adding each child node to HashMap key => value
map . put( KEY_ID, parser. getValue ( e, KEY_ID));
map . put( KEY_NAME, parser. getValue ( e, KEY_NAME));
map.put(KEY_COST,
"Rs."
+ parser.getValue(e, KEY_COST));
map . put( KEY_DESC, parser. getValue ( e, KEY_DESC));
// adding HashList to ArrayList
menuItems . add( map);
}
// Adding menuItems to ListView
ListAdapter adapter =
new
SimpleAdapter(
this
, menuItems ,
R. layout. list_item,
new
String[ ] { KEY_NAME, KEY_DESC, KEY_COST } ,
new
int
[ ] {
R. id. name, R.id.desciption, R. id. cost } );
setListAdapter ( adapter);
// selecting single ListView item
ListView lv = getListView ( );
// listening to single listitem click
lv . setOnItemClickListener (
new
OnItemClickListener( ) {
@Override
public
void
onItemClick(AdapterView<?> parent, View view,
int
position,
long
id) {
// getting values from selected ListItem
String name = ((TextView) view. findViewById ( R. id. name)). getText ( ). toString();
String cost = ((TextView) view. findViewById ( R. id. cost)). getText ( ). toString();
String description = ((TextView) view.findViewById(R.id.desciption)).getText().toString( );
// Starting new intent
Intent in =
new
Intent( getApplicationContext( ), SingleMenuItemActivity.
class
);
in . putExtra ( KEY_NAME, name);
in . putExtra ( KEY_COST, cost);
in . putExtra ( KEY_DESC, description);
startActivity ( in);
}
});
}
No comments:
Post a Comment