Почему значение gettag () обнуляется на onclicklistener textview? - PullRequest
1 голос
/ 21 апреля 2011

за пределами прослушивателя onclick я получаю значение тегов, но внутри прослушивателя onclick я получаю нулевое значение

 TableRow[] tr= new TableRow[1];    
    final TextView[] txt= new TextView[1];
    tr[0] = (TableRow) new TableRow(this);
    txt[0]=new TextView(this);
    txt[0].setWidth(intcolumnwidth1);
    txt[0].setText("txt7");
    txt[0].setBackgroundResource(R.layout.shape2);
    txt[0].setTextColor(intwhite);
    txt[0].setTag("tagging some data");
    Log.i("Tag detail", (String) txt[0].getTag());

Получение этого значения 04-21 18: 13: 03.813: INFO / Tag detai (514): пометка некоторых данных

   txt[0].setClickable(true);
    txt[0].setOnClickListener(new View.OnClickListener() 
    {
        public void onClick(View v) 
        {
            try
        {
            String str=(String) txt[t].getTag();
            Log.i("magic","<<<<<<<<<<<"+str+">>>>>>>>>>>>>");

Получение этого значения 04-21 18: 13: 06.072: ИНФО / магия (514): <<<<<<<<<< >>>>>>>>>>>>

}
            catch(Exception exe)
            {
                Toast(exe.getMessage());
                Log.i("error", exe.getMessage());
            }
            }
        });
        tr[0].addView(txt[t]);

Ответы [ 2 ]

4 голосов
/ 21 апреля 2011

Попробуйте

String str=(String) v.getTag();
0 голосов
/ 21 апреля 2011

Вы должны получить доступ к тегу, как это

txt[0].setOnClickListener(new View.OnClickListener() 
{
    public void onClick(View v) 
    {
        try
    {
    String tag=(String) v.getTag(); 
}
        catch(Exception exe)
        {
            Toast(exe.getMessage());
            Log.i("error", exe.getMessage());
        }
        }
    });
...