Я использую эту библиотеку в своем приложении: Card Library : Guide и создал карту, как показано в примере. Теперь мне нужно обработать событие click, но я получаю сообщение об ошибке при создании экземпляра: new Card.OnCardClickListener
, в котором говорится, что OnCardClickListener is abstract: cannot be instantiated
. В моей деятельности у меня есть этот код:Cardlib's CardView OnCardClickListener's onClick метод не называется
Card card = new Card(getBaseContext());//getContext()
CardHeader header = new CardHeader(getBaseContext());
card.addCardHeader(header);
final CardViewNative cardView = (CardViewNative) findViewById(R.id.carddemo);
cardView.setCard(card);
cardView.setClickable(true);
cardView.setOnClickListener(new Card.OnCardClickListener()); //error here
Что случилось? Как я могу настроить свою карту как интерактивную, а затем обрабатывать события click/touch?
EDIT
Если я использую это так:
cardView.setOnClickListener(new Card.OnCardClickListener(){//error here
@Override
public void onClick(Card card, View view) {
// This will execute when the the card is clicked
}
});
он говорит cannot resolve method setOnClickListener(it.gmariotti.cardslib.library.internal.Card.OnCardClickListener)
EDIT1
Вы, ребята правы, я поставил setOnClickListener
на сама карта, и нет никакой ошибки anymor e, , но все же он не выполняет никаких действий при нажатии на карту. Вот новый код:
//Create a Card
Card card = new Card(this);//getContext()
//Create a CardHeader
CardHeader header = new CardHeader(this);
//....
//Add Header to card
card.addCardHeader(header);
//Set card in the cardView
CardViewNative cardView = (CardViewNative) this.findViewById(R.id.carddemo);
cardView.setCard(card);
card.setClickable(true);
card.setOnClickListener(new Card.OnCardClickListener(){
@Override
public void onClick(Card card, View view) {
// This will execute when the the card is clicked
Toast.makeText(CardMariotti.this,"Clickable card", Toast.LENGTH_LONG).show();
}
});
Я выполнил отладки, но метод onClick
никогда не вызывается. Как так?
Я пробовал, как вы сказали, и у меня есть еще одна ошибка. См. Мое редактирование –
Извините, измените cardView.setOnClickListener на card.setOnClickListener – BVB