Вызывается Dialog. Обработчик на нажатие повесил(onClick). Как повесить обработчик событий на LongClick и можно ли тут так сделать? Буду рад любой помощи или замечанию!
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new lertDialog.Builder(getActivity());
builder.setTitle("Список: ")
.setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
loadList((anyArrayList.get(which)));
}
});
return builder.create();
}
Ответ
Согласно en-SO надо повесить слушатель показа диалога на экране. В этот момент можно достучаться до его внутреннего ListView и уже ему назначить слушатель:
final AlertDialog ad = builder.create(); //don't show dialog yet
ad.setOnShowListener(new OnShowListener()
{
@Override
public void onShow(DialogInterface dialog)
{
ListView lv = ad.getListView(); //this is a ListView with your "buds" in it
lv.setOnItemLongClickListener(new OnItemLongClickListener()
{
@Override
public boolean onItemLongClick(AdapterView parent, View view, int position, long id)
{
Log.d("Long Click!","List Item #"+position+"was long clicked");
return true;
}
});
}
});
ad.show();
Комментариев нет:
Отправить комментарий