2013-08-24 1 views
0

У меня есть 10 категорий, и показать их в TableLayout и каждой категории в a TableRow. Каждая категория имеет идентификатор, я установил все идентификатор категории в android:tag атрибут каждого TableRow, как это:TableRow получить значение атрибута тега

<TableLayout> 

    <TableRow android:id="@+id/cat1" android:tag="1" onClick="row_click"> 
    <ImageView /> 
    <TextView /> 
    <TextView /> 
    </TableRow> 

    <TableRow android:id="@+id/cat2" android:tag="2" onClick="row_click"> 
    <ImageView /> 
    <TextView /> 
    <TextView /> 
    </TableRow> 
    . 
    . 
    . 

</TableLayout> 

И когда пользователь нажимает каждую строку, начать другую деятельность и отправить идентификатор категории к нему.

Теперь у меня есть 2 вопроса:

  1. ли этот путь я выбираю, исправленный? (если нет, предложите лучший способ)

  2. если да, то как получить значение tag атрибут в row_click метод?

ответ

2

да, то как этот

public void row_click(View v){ 
     System.out.println("HELO : " +v.getTag().toString()); 
    } 

Update

Примечание: андроид: OnClick для уровня API 4 года, так что, если вы ориентируетесь < 1.6, то вы не можете его использовать. Поэтому я рекомендовал использовать

TableRow tr = (TableRow) findViewById(R.id.tr1); 

tr.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     row_click(v); 
    } 
}); 
+0

Спасибо, я нацелен на> 2.1 –