#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()