Ответ 1
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
int color = parent.getAdapter().getItem(position);
}
Я добавил arraylist в arrayadapter, который содержит объекты, каждый из которых состоит из двух элементов/элементов, я успешно установил этот адаптер для setListAdapter, теперь я хочу получить эти элементы в setOnItemClickListener из списка.
вот мой код
TweetListAdaptor adaptor = new TweetListAdaptor(this,R.layout.list_item, tweets);
setListAdapter(adaptor);
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view,int position, long id)
{
//here i want to get the items
}
});
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
int color = parent.getAdapter().getItem(position);
}
public void onItemClick(AdapterView<?> parent, View view,int position, long id){
something = tweets[position];
}
Вы хотите получить предметы и сделать что с ними?
Например, вы можете сделать сообщение Toast таким образом.
public void onItemClick(AdapterView<?> parent, View view,int position, long id)
{
Toast.makeText(getApplicationContext(), tweets[position], Toast.LENGTH_SHORT).show();
}
Надеюсь, что это поможет.
и если у вас есть готовый список со всеми данными и вы хотите получить значение объекта только для использования:
ViewGroup row = (ViewGroup) listprod.getChildAt(0);
TextView tvTest = (TextView) row.findViewById(R.id.textnomprod);
Где мой список " listprod", и я хочу получить значение в позиции 0, где textnomprod - мой объект и im im в моей переменной tvTest
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {
Windows clickedObject = adapter.get(position);
}
}
Рассмотрим в приведенном выше примере
Кроме того, убедитесь, что ваш ArrayList имеет финал.
Я решил эту проблему, используя свой адаптер, который был установлен для него.
TweetListAdaptor adaptor = new TweetListAdaptor(this,R.layout.list_item, tweets);
setListAdapter(adaptor);
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view,int position, long id)
{
//here i want to get the items
adaptor.getItem(position); // this is your object
}
});
Просто имейте в виду, что адаптер должен быть инициализирован и установлен в ListView.
Таким образом вы можете получить доступ к свойствам объекта, который вы хотите.
getListView().getItemAtPosition(position)
вернет Object
в ваш TweetListAdaptor