在多个活动中使用arrayList元素

问题描述:

我有一个问题,从列表视图从同一选定位置的数组列表中获取一个问题,并将这两个值传递给nxt活动我的代码只传递列表视图中所选项目的值,但是当将ListAdaptername.get(位置);它dosent回元素的值这里是我的代码:在多个活动中使用arrayList元素

值发送到NXT的

//一部分Activiti的

lv = getListView(); 
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
        android.R.layout.simple_list_item_1, names); 

        setListAdapter(adapter); 

        lv.setOnItemClickListener(new OnItemClickListener(){ 
         public void onItemClick(AdapterView<?> parent, View view, 
         int position, long id) 
         {//getApplicationContext 

          //String bb=parent.getItemAtPosition(position).toString(); 
          String name=names.get(position); 
           Intent i = new Intent(LastActivity.this, Details.class); 
           String des=desc.get(position).toString(); 

           i.putExtra("Name",name); 
           i.putExtra("desc",des); 
           // starting new activity 
           startActivity(i); 
           //LastActivity.this 
         } 
        }); 

}

//这里的wher我定义列表,并调用值:

ListView lv; 

    static String UName="OName"; 
    static String UniUrl="Odesc"; 
    public String val; 
    static List<String> desc; 
    static ArrayList<String> names; 

    URL url; 
    XmlPullParserFactory factory; 
    XmlPullParser xpp; 
    boolean insideItem; 
@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     // setContentView(R.layout.main); 
     lv=(ListView) findViewById(R.id.list1); 
     links=new ArrayList<String>(); 
     names=new ArrayList<String>(); 
     try{ 

      url=new URL("http://api.androidhive.info/pizza/?format=xml"); 
      factory = XmlPullParserFactory.newInstance(); 
      factory.setNamespaceAware(false); 
      xpp = factory.newPullParser(); 
      xpp.setInput(getInputStream(url), "UTF_8"); 
      insideItem = false; 


        // Returns the type of current event: START_TAG, END_TAG, etc.. 

      int eventType = xpp.getEventType(); 
      int x=0; 
      while (eventType != XmlPullParser.END_DOCUMENT) { 

        if (eventType == XmlPullParser.START_TAG) { 


         if (xpp.getName().equalsIgnoreCase("item")) { 

          insideItem = true; 

         } else if (xpp.getName().equalsIgnoreCase(OName)) { 

          if (insideItem) 

           names.add(xpp.nextText()); //extract the headline 

         } else if (xpp.getName().equalsIgnoreCase(Odesc)) { 

          if (insideItem) 

           desc.add(xpp.nextText()); //extract the link of article 

         } 
        }else if(eventType==XmlPullParser.END_TAG && xpp.getName().equalsIgnoreCase("item")){ 

         insideItem=false; 

        } 

        eventType = xpp.next(); //move to next element 

       } 


     }catch (MalformedURLException e) { 

      e.printStackTrace(); 

     } catch (XmlPullParserException e) { 

      e.printStackTrace(); 

     } catch (IOException e) { 

      e.printStackTrace(); 

     }catch (Exception e) 
     { 
      e.printStackTrace(); 

     } 
+0

看来你是一个有点困惑 - 在你到底提取中的OnCreate的意图值,这似乎是你的问题是什么,但对于活动详细信息的代码永远不会似乎触摸发起意图 – Elemental 2012-07-24 11:06:43

+0

公共无效的onCreate(捆绑savedInstanceState){ \t \t // TODO自动生成方法存根 \t \t super.onCreate(savedInstanceState); \t \t setContentView(R.layout.details); \t \t \t \t tv =(TextView)findViewById(R.id.text); \t \t url =(TextView)findViewById(R.id.link); \t \t Intent intent = getIntent(); \t \t \t //接收数据 \t字符串名称= intent.getStringExtra( “名称”); \t String path = intent.getStringExtra(“desc”); \t \t //Log.e(“Second Screen”,name +“。”); \t tv.setText(name); \t url.setText(path); \t} – loleana 2012-07-24 11:10:40

+0

这是详细活动@Elemental上面的评论 – loleana 2012-07-24 11:12:05

你没有看到永远让你的代码的第二块上的意向,请尝试使用这样的:

String names = getIntent().getStringExtra("Name"); 

如果这不起作用,也许试试编码你的inital i.putExtra来仔细检查数据是否被发送通过不是空的。

i.putExtra("Name","Test Name"); 

希望它可以帮助

+0

将好像它发送空:(我尝试了一个测试名称,但在第二个activity.Thanx无尽:)剂量显示在列表视图) – loleana 2012-07-26 07:34:58