2013-09-20 1 views
0

Я раздуваю passenger_details_layout в main_passenger_details_layout. На время выполнения я устанавливаю значения в TextView. Я настраиваю pax_id, который невидим для каждой строки, которую я раздуваю в нем. Так что на клик пассажира_дизайв_layout я хочу назвать новое действие и передать pax_id в новое действие. Pax_id будет как 1,2,3 за каждый цикл цикла. Так что при нажатии одной строки я хочу получить pax_id первой строки, которую я установил.Получить значение textview после Inflating в Android

Пожалуйста, помогите, как я могу это сделать. Будет благодарно вам.

Код для Infalate

ItinResponse data = obj.parseXMLData(fXmlFile); 
     List<SectorRecords> sectorList = data.getSectorRecordsDetails(); 
     int items = 0; 
     List<PassengerDetails> listdata = data.getPaxDetails(); 
     int i = 0; 
     for (PassengerDetails elements : listdata) { 
      inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      RelativeLayout layout = (RelativeLayout) inflater.inflate(
        R.layout.passenger_details_layout, main, false); 
      firstName = (TextView) layout.findViewById(R.id.first_pax_name); 
      pax_id = (TextView) layout.findViewById(R.id.pax_id); 
      firstName.setText(elements.getFirstName() + " " 
        + elements.getLastName()); 
      pax_id.setText(elements.getPaxId()); 
      main.addView(layout, i); 
      i++; 


layout.setOnClickListener(new OnClickListener() { 

        @Override 
        public void onClick(View v) { 
         Toast.makeText(getApplicationContext(), "this is my Toast message!!! =)"+pax_id.getText(), Toast.LENGTH_LONG).show(); 

        } 
       }); 

На каждой строке показывается последний чел идентификатор

ответ

1

Вы ничего не делать то, что вы пытаетесь

Заменить этот

pax_id.setText(elements.getPaxId()); 

в

layout.setId(Integer.parseInt(elements.getPaxId())); 

И в макете Нажмите

layout.setOnClickListener(new OnClickListener() { 

        @Override 
        public void onClick(View v) { 
         Toast.makeText(getApplicationContext(), "this is my Toast message!!! =)"+layout.getId(), Toast.LENGTH_LONG).show(); 
        } 
       }); 

Каждый раз, когда вы получите уникальный идентификатор, который хотите установить

Все самое лучшее ... !!!!

+0

позвольте мне попробовать это –

+0

попробуйте, если у вас есть какие-либо сомнения, дайте мне знать – Developer

+1

отлично это то, что я хочу поблагодарить u очень @gaurav –

0

Используйте

TextView paxView = (TextView)v.findViewById(R.id.pax_id); 
String pax_value = paxView.getText().toString(); 
+0

макет всегда дает мне последний идентификатор pax, который я установил в этом –

+0

@PoojaDubey, вы используете setText, который заменит старый на новый, чтобы вы получили последний текст, установленный в текстовое представление – Raghunandan

+0

, так как я могу это сделать так что для каждой строки у меня есть уникальный id –

0

На кнопку мыши в каждой строке сделать как этот

Intent intent=new Intent(this,YOUR_NEXT_ACTIVIY.class); 
       intent.putExtra("paxid", pax_id.getText()); 
       startActivity(intent); 
0
ItinResponse data = obj.parseXMLData(fXmlFile); 
     List<SectorRecords> sectorList = data.getSectorRecordsDetails(); 
     int items = 0; 
     List<PassengerDetails> listdata = data.getPaxDetails(); 
     int i = 0; 
     for (PassengerDetails elements : listdata) { 
      inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      RelativeLayout layout = (RelativeLayout) inflater.inflate(
        R.layout.passenger_details_layout, main, false); 
      firstName = (TextView) layout.findViewById(R.id.first_pax_name); 
      pax_id = (TextView) layout.findViewById(R.id.pax_id); 
      firstName.setText(elements.getFirstName() + " " 
        + elements.getLastName()); 
      pax_id.setText(elements.getPaxId()); 
      layout.setTag(elements.getPaxId()); 
      main.addView(layout, i); 
      i++; 
layout.setOnClickListener(new OnClickListener() { 

        @Override 
        public void onClick(View v) { 
         String paxId = v.getTag().toString(); 
         // do some staff 
        } 
       }); 
     } 
0
// try this 
     ItinResponse data = obj.parseXMLData(fXmlFile); 
     List<SectorRecords> sectorList = data.getSectorRecordsDetails(); 
     int items = 0; 
     List<PassengerDetails> listdata = data.getPaxDetails(); 
     int i = 0; 
     for (PassengerDetails elements : listdata) { 
      inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      RelativeLayout layout = (RelativeLayout) inflater.inflate(
        R.layout.passenger_details_layout, main, false); 
      firstName = (TextView) layout.findViewById(R.id.first_pax_name); 
      pax_id = (TextView) layout.findViewById(R.id.pax_id); 
      firstName.setText(elements.getFirstName() + " " 
        + elements.getLastName()); 
      pax_id.setText(elements.getPaxId()); 
      layout.setTag(elements); 
      main.addView(layout, i); 
      i++; 


      layout.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        PassengerDetails elements = (PassengerDetails) v.getTag(); 
        Toast.makeText(getApplicationContext(), "this is my Toast message!!! =)"+elements.getPaxId(), Toast.LENGTH_LONG).show(); 

       } 
      }); 
     } 
+0

null указатель исключение –

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

  • Нет связанных вопросов^_^