0

XMLパーサーを使用しています。1つのアクティビティから別のアクティビティに1つのIDを渡す必要がありますが、このIDは最初の画面のテキストビューに表示されません。このIDを他の画面に渡すにはどうすればよいですか。

これが私のコードです:

            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);
        }

ここでは、特定の要素の値をクリックするときにIDを渡す必要があります。どうすればよいですか?

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);

            }
        });
4

2 に答える 2

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);

    }
于 2012-05-08T05:24:13.643 に答える
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");
}
于 2012-05-08T03:56:50.673 に答える