Android ListView pobiera wartość TextView w miejscu, w którym kliknięto przycisk przełączania

Mam następujące ListView z niestandardowym elementem listy:

Chciałbym dostaćTextView wartości z elementu listy, gdzieToggleButton jest kliknięty.

Oto adapter, który buduje listę:

    public class simpleAdapter extends SimpleAdapter {

    public simpleAdapter(Context context,
            ArrayList<HashMap<String, String>> list, int resource,
            String[] from, int[] to) {
        super(context, list, resource, from, to);
        // TODO Auto-generated constructor stub
    }

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        // return super.getView(position, convertView, parent);

        LayoutInflater inflater = getLayoutInflater();
        convertView = inflater.inflate(R.layout.user_campaigns_list_item, parent, false);

        tb_campaigns_list_toggle = (ToggleButton) convertView
                .findViewById(R.id.tb_campaigns_list_toggle);
        tb_campaigns_list_toggle.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                Toast.makeText(getApplicationContext(), String.valueOf(position), Toast.LENGTH_SHORT).show();
            }
        });

        return super.getView(position, convertView, parent);

    }

}

Dzięki temu kodowi jestem w stanie toastowaćposition zlist item zawierająceToggleButton kliknięty. Kiedy próbujesz zdobyćText1 lubid1 wartości używające tego kodu:

TextView Text1 = (TextView)convertView.findViewById(R.id.Text1_id); //this line is outside the onClick(View v) method
String Text1_value = Text1.getText().toString();
Toast.makeText(getApplicationContext(), Text1_value, Toast.LENGTH_SHORT).show();

Zawsze otrzymuję wartośćText1 od ostatniegoListView pozycja.

jakieś pomysły?

questionAnswers(2)

yourAnswerToTheQuestion