2012-05-08 8 views
0

Я использую XML-синтаксический анализатор. В этом случае я должен передать один id из одного действия в другой, но этот идентификатор не показан в текстовом представлении 1-го экрана. Как я могу передать этот идентификатор на другой экран.XML-парсер в android

Вот мой код:

  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_LASTVALUE,parser.getValue(e, KEY_LASTVALUE)); 
      map.put(KEY_CHANGE, parser.getValue(e, KEY_CHANGE)); 
      map.put(KEY_STKEXCHANGE, parser.getValue(e, KEY_STKEXCHANGE)); 
      map.put(KEY_LASTPRICE, parser.getValue(e, KEY_LASTPRICE)); 

      // adding HashList to ArrayList 
      menuItems.add(map); 
     } 

Здесь я должен передать идентификатор щелкать конкретное значение элемента, как я могу это сделать:

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_label)).getText().toString(); 
//    String cost = ((TextView) view.findViewById(R.id.cost_label)).getText().toString(); 
//    String description = ((TextView) view.findViewById(R.id.description_label)).getText().toString(); 
       // Starting new intent 
       Intent in = new Intent(getApplicationContext(), IndicesDetails.class); 
//    in.putExtra(KEY_STKEXCHANGE, name); 
//    in.putExtra(KEY_COST, cost); 
//    in.putExtra(KEY_DESC, description); 
//    string ids = getItemId(position);    
//    in.putExtra("idvalue", id); 
       startActivity(in); 

      } 
     }); 

ответ

0

В текущей деятельности:

public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 
       // Starting new intent 
       Intent in = new Intent(getApplicationContext(), IndicesDetails.class);    
       in.putExtra("idvalue", id); 
       startActivity(in); 
      } 

Затем в новом действии извлеките эти значения:

Bundle extras = getIntent().getExtras(); 
if(extras !=null) { 
long value = extras.getLong("idvalue"); 
} 
+0

Привет Имран Кхан спасибо за уры reply.The ид этого значения я разбор из API.In в ListView я отображающий список элементов, в том, что, когда я щелкая конкретный элемент он должен принять идентификатор (который анализируется форма api) этого конкретного элемента. Я также попробовал ур. Но его не работает в моем случае. – subburaj

0

Попробуйте что-то подобное, это может помочь.

public void onItemClick(AdapterView<?> parent, View view, 
         int position, long id) { 
    HashMap map=yourArrayList.get(position); 
    String id=map.get("Your key"); 

    in.putExtra("idvalue", id); 

    } 
Смежные вопросы