Get value of item on OnItemClick Listview

android, listview, onitemclick

Solution

The parameter `v` is the current row. so use:

public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
    TextView c = (TextView) v.findViewById(R.id.tvPopUpItem);
    String playerChanged = c.getText().toString();

    Toast.makeText(Settings.this,playerChanged, Toast.LENGTH_SHORT).show();
}

(Or you could use `getChildAt(position)` but this would be slower.)

Understand you might be able to simplify this more depending on your layout.

Problem

I try to get the value of a selected Item within a custom adapter on a listview. I try this with following code: ``` public void onItemClick(AdapterView<?> parent, View v, int position, long id) { View curr = parent.getChildAt((int) id); TextView c = (TextView)curr.findViewById(R.id.tvPopUpItem); String playerChanged = c.getText().toString(); Toast.makeText(Settings.this,playerChanged, Toast.LENGTH_SHORT).show(); } ``` At the beginning, if I click, the values are good, but once I scrolled and I click on another Item, I get the wrong value of that clicked item... Any idea what is causing this?

Original source