Как установить функцию onclick в dynamic textview в Android?

#android

#Android

Вопрос:

Я установил onClick() функцию, но когда я нажимаю на текст, она работает два раза, что означает, что у меня есть два динамических текстовых представления. Как это решить?

Мой код:

 TextView tView[] = new TextView [Array.length];
for(int i =1; i<Array.length; i  )
{
    tview[i] = new TextView(this);
    tview[i].setId(i);
    tview[i].setText(Array[i]);
    tview[i].setOnTouchListener(new OnTouchListener()
    {
        Public boolean onTouch(View v ,MotionEvent event)
        {
            Toast.makeText(getApplicationcontext,"MapVal",Toast.LengthShort).show();
        }
    });
}
  

Комментарии:

1. Пожалуйста, предоставьте исходный код создания TextView и onClick()

2. разместите свой код метода onclick, и мы разберемся с проблемой

3. [TextView tview’s[] = новый TextView [Array.length]; for(int i =1; i<Array.length;i ) { tview’s[i] = новый TextView(this); tview’s[i].setId(i); tview’s[i].setText(Array[i]); tview’s[i].setontext(Array[i]); tview’s[i].setOnTouchListener(новый OnTouchListener() { Общедоступный логический onTouch(Просмотр v, Событие MotionEvent) { Toast.makerText(getApplicationContext,»MapVal»,Toast. LengthShort).show(); } }); }]

Ответ №1:

Проблема в использовании OnTouchListener . Событие onTouch() вызывается не один раз при каждом нажатии, а минимум два: при касании вниз и при касании вверх. Вместо этого используйте OnClickListener и setOnClickListener() .

Ответ №2:

если вы хотите установить прослушиватель onclick, используйте

urtextvw_name.setOnClickListener()