2012-07-24 2 views
0

listView에서 동일한 선택 항목에서 arraylist를 가져 와서 두 값을 nxt 활동에 전달하는 데 문제가 있습니다. 내 코드는 목록보기에서 선택된 항목의 값만 전달하지만, ListAdaptername.get (position);두 개 이상의 활동에서 arrayList 요소 사용

는 NXT로 값을 보내는

// 부분은 // 여기에

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

}

을 activiti 내가 목록을 정의하고 값을 호출 wher의 : 그것은 여기 내 코드의 요소의 값을 다시 dosent :

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

+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 = getIntent(); \t \t \t // 수신 데이터 \t 문자열 이름 = intent.getStringExtra ("Name"); \t 문자열 경로 = intent.getStringExtra ("desc"); \t \t //Log.e("두 번째 화면", 이름 + "."); \t tv.setText (name); \t url.setText (path); \t} – loleana

+0

이것은 세부 활동 @ 엘레멘트 위의 덧글 – loleana

답변

0

혹시 코드의 두 번째 블록의 의도를 얻을 표시되지 않습니다,이 같은 것을 사용해보십시오 :

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

그래도 작동하지 않는다면, 데이터가 전송되지 않음을 다시 확인하기 위해 inital i.putExtra를 하드 코딩 해보십시오.

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

그것이

+0

그것은 빈 것처럼 보일 것입니다 :(나는 어쨌든 :) 두 번째 activity.Thanx에서 목록보기에 시험 이름을 시도하지만 dosent 표시))) – loleana

관련 문제