Как вернуть абонента setOnClickListener? - PullRequest
0 голосов
/ 06 февраля 2012

У меня есть массив TableRow, для каждого из них я установил OnClickListener. Я хочу знать, какой TableRow в массиве tr_o вызывается при нажатии?

 tr_o[j].setOnClickListener(new View.OnClickListener(){                             
                        @Override  
                        public void onClick(View v) {

                            Intent intent = new Intent();  
                            intent.setClass(a.this, b.class);  
                            startActivity(intent);  

                        }  
                    }); 

Ответы [ 2 ]

0 голосов
/ 06 февраля 2012

Вы можете использовать tr_o[j].getId() (или) tr_o[j].getTag() для этой цели.

Предполагается, что вы устанавливаете Id для каждой строки таблицы при создании таблицы.

0 голосов
/ 06 февраля 2012

Передайте идентификатор текущего представления своему намерению:

                @Override  
                    public void onClick(View v) {

                        Intent intent = new Intent();  
                        intent.setClass(a.this, b.class);
                        intent.putExtra("ViewId", v.getId();  
                        startActivity(intent);  

                    }

Затем в своем классе приема вы узнаете, какой просмотр его начал.

...