2015-04-01 3 views
-1

Это мой код. Это работает, но в нем отображается только первое значение, которое у меня есть в спискеView, а не элемент выбора пользователем. Пожалуйста, остановите меня. Это действительно важно.Как получить значения из выбранного элемента в виде списка?

 unitListView.setChoiceMode(AbsListView.CHOICE_MODE_SINGLE); 

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

        // selected item 
       TextView t1 = (TextView) findViewById(R.id.lblLUnitName); 

       String name=t1.getText().toString(); 

      // String a= (String) unitListView.getItemAtPosition(position); 

         // touchpressed=position; 
        Toast.makeText(getApplicationContext(), "Selected Item :" +name, Toast.LENGTH_SHORT).show(); 

     } 
    }); 
+1

Вместо TextView t1 = (TextView) findViewById (R.id.lblLUnitName); не могли бы вы попробовать TextView t1 = (TextView) view.findViewById (R.id.lblLUnitName); –

+0

Ohhhh yessss !!! Работает! Большое спасибо! –

+0

Отлично. Взгляд будет высоко оценен :) –

ответ

0

View - это просто, чтобы показать некоторые значения в пользовательском интерфейсе. Если вы хотите получить реальные значения, используйте position, чтобы получить значение от вашего ListAdapter.

@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    YourItemClass item = (YourItemClass)listAdapter.getItem(position); 
    //[...] 
} 

Другой способ получить ListAdapter от вашего unitListView непосредственно:

@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    Object item = unitListView.getAdapter().getItem(position); 
    //[...] 
} 
0

обновить свой код следующим образом и попробовать;

 unitListView.setChoiceMode(AbsListView.CHOICE_MODE_SINGLE); 
     unitListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View view,int position, long id) { 

      TextView t1 = (TextView) findViewById(R.id.lblLUnitName); 
      String name=String.valuesOf(position); 
      Toast.makeText(getApplicationContext(), "Selected Item :" +name, Toast.LENGTH_SHORT).show(); 

    } 
}); 
+0

Как только я изменился, как TextView t1 = (TextView) view.findViewById (R.id.lblLUnitName); это работает! Спасибо за помощь.. :) –

0

Заменить
TextView t1 = (TextView) findViewById(R.id.lblLUnitName);

По

TextView t1 = (TextView) view.findViewById(R.id.lblLUnitName); 
Смежные вопросы