lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(final AdapterView<?> parent, View view, final int position, long id)
{
// My code is here. I want make my image clickable. I don't want make it clickable in my CustomAdapter getView() method because it doesn't allows me open DialogFragment from there.
// I already setted in xml of image clickable="true" and focusable = "false"
//I'll admit for any help and thanks in advance
}
}
ответ
Если вы берете образ Onclick из адаптера, вы не можете взять setOnItemClickListener из события listview. Я предложил вам взять Onclick и вместо setOnItemClickListener взять Onclick из адаптера.
Да, но если я беру onClick из моего адаптера в метод getView(), я не могу получить там диспетчер фрагментов для открытия DialogFragment –
Положить тост на метод onclick(), проверить погоду это работа или нет, если он работает, тогда проблема заключается в фрагменте диалога – Vadivel
Несколько минут, и я сделаю это и загрузите код –
Сначала вы должны добавить OnClickListener
для ImageView в классе адаптера, как
viewHolder.button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
((ListView) parent).performItemClick(v, position, 0); // Let the event be handled in onItemClick()
}
});
Тогда после того, как вы можете получить доступ к ImageView в onItemClick
как
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
long viewId = view.getId();
if (viewId == R.id.button1) {
Toast.makeText(this, "Button 1 clicked", Toast.LENGTH_SHORT).show();
} else if (viewId == R.id.button2) {
Toast.makeText(this, "Button 2 clicked", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "ListView clicked" + id, Toast.LENGTH_SHORT).show();
}
}
Наслаждайтесь! ...
Mehul благодарит человека, он отлично работает !!! –
Если это прекрасно, пожалуйста, пожалуйста, голосуйте за меня .... !! –
Я нажимаю кнопку для голосования, но не меняет номер голоса, не могу понять, почему. –
Это не должно быть проблемой, чтобы показать диалоговое окно с адаптером. Если адаптеру нужно что-то, что у него нет, то вы можете добавить поле для адаптера с некоторым слушателем как private final OnImageClickListener
и создать интерфейс:
public interface OnImageClickListener {
void onImageClicked(View view, int position, int id);
}
При создании адаптера от вашей деятельности или фрагмента, вы можете реализовать этот интерфейс либо в своей деятельности/фрагменте, либо внутри анонимного класса, и там у вас есть доступ к диспетчеру фрагментов и вы можете делать все, что хотите.
Спасибо Малкольм, я тоже буду использовать ваш совет. быть вторым хорошим способом решить мою проблему –
- 1. Как сделать изображениеView плавным?
- 2. Сделать изображениеView заполнить экран
- 3. Как сделать виджет доступным
- 4. Как сделать EditText доступным?
- 5. Как сделать TextView доступным?
- 6. сделать Bluetooth доступным для использования
- 7. Как сделать загрузочный бутстрап доступным для поиска?
- 8. Как сделать ATLAS доступным для Octave?
- 9. Как сделать Valgrind доступным для всех распределений?
- 10. Как сделать JIRA доступным для http://jira.example.com?
- 11. Как сделать siesta доступным для элементов, невидимых
- 12. Как сделать этот css доступным для чтения?
- 13. Как сделать HorizontalFieldManager доступным для BlackBerry?
- 14. Как сделать сервер доступным для локальных клиентов
- 15. Как сделать видеофайл доступным для скачивания?
- 16. Как сделать usercontrol доступным для нескольких проектов?
- 17. Как сделать webgrid доступным для редактирования?
- 18. Как сделать JTable доступным для редактирования?
- 19. Как сделать Spinner доступным для редактирования?
- 20. Как сделать мобильный сайт доступным для чтения?
- 21. Как сделать DNS доступным для общественности
- 22. Как сделать мой генератор доступным для Rails?
- 23. Как сделать сайт доступным для всех мониторов?
- 24. Как сделать контент AJAX доступным для Google?
- 25. Как сделать список доступным для просмотра?
- 26. Как сделать контроль доступным для всех классов?
- 27. Как сделать Selenium доступным для чтения?
- 28. Как сделать Node.js доступным для службы SOAP?
- 29. Как сделать каталог кеша доступным для записи
- 30. Как сделать textarea доступным для редактирования?
, пожалуйста, отредактируйте свой вопрос –