2015-04-14 2 views
-1

Я начинаю разработку приложений для Android. Я пишу простое приложение, чтобы отображать список и элементы в списке. Я хочу, когда пользователи нажимают на элемент, покажите мне текст строки.Показать список элементов списка Android?

адаптер

ArrayAdapter<String> myAdaptor = new ArrayAdapter<String>(MainActivity.this, R.layout.rowlayout,R.id.label, itemsList) 

rowlayout.xml

<ImageView 
     android:id="@+id/icon" 
     android:layout_width="100px" 
     android:layout_height="100px" 
     android:layout_marginLeft="4px" 
     android:layout_marginRight="10px" 
     android:layout_marginTop="4px" 
     android:src="@drawable/maleki" > 
    </ImageView> 
    <TextView 
     android:id="@+id/label" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@+id/label" 
     android:textSize="50px" 
     android:layout_gravity="right" 
     android:paddingLeft="100px" 
     > 
    </TextView> 


Я пишу этот код в списке следует клик:

ListView myLST=(ListView)findViewById(R.id.listView1); 
     myLST.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

       String itemString=((TextView) view).getText().toString(); 

       Intent i = new Intent(getApplicationContext(), tourdetail.class); 
       i.putExtra("countrydetail",itemString); 
       startActivity(i); 

      } 
     }); 

, но в этой строке я получаю сообщение об ошибке:

String itemString=((TextView) view).getText().toString(); 


Как я могу решить эту проблему? Благодарю.

+0

использовать этот способ Строка пункт = ((TextView) view.findViewById (R.id.label)) GetText() ToString(); –

ответ

2

Try:

String itemString = ((TextView) view.findViewById(R.id.label)).getText().toString();

или

String itemString = myAdaptor.getItem(position)

+0

спасибо за ответ на мой вопрос. – behzad

1

Почему вы бросили выбранный элемент представления в TextView, который представляет собой сочетание ImageView и TextView. Проверьте это для вашего решения:..

myLST.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    TextView label= (TextView) view.findViewById(R.id.label); 
    String text = label.getText().toString(); 
    //remaining stuff 
} 
}); 
Смежные вопросы